搜索
查看: 2521|回复: 2

[Shell] GIT学习第4,5天

[复制链接]

64

主题

138

帖子

681

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
681
发表于 2017-5-9 11:04:46 | 显示全部楼层 |阅读模式
                               
一 创建与合并分支(用于多人协作,或者这块没弄完,再弄那块)
                                      
1.创建dev分支,gitcheckout -b dev
2.gitbranch 命令查看当前分支(当前的分支前面有*
3.修改readme做测试,gitaddgitcommit提交,此时切换到master查看redme并没修改,因为修改的是dev分支啊
4.gitmerge dev分支合并。
5.删除dev,gitbranch -d dev,再查看分支就只剩master
小结:
查看分支:[mw_shl_code=applescript,true]git branch[/mw_shl_code]
创建分支:[mw_shl_code=applescript,true]git branch <name>[/mw_shl_code]
切换分支:[mw_shl_code=applescript,true]git checkout <name>[/mw_shl_code]
创建加切换:[mw_shl_code=applescript,true]git checkout -b <name>[/mw_shl_code]
合并某分支到当前分支:[mw_shl_code=applescript,true]git merge <name>[/mw_shl_code]
删除分支:[mw_shl_code=applescript,true]git branch -d <name>[/mw_shl_code]
二 解决冲突

当无法合并时解决冲突,再提交,合并完成
[mw_shl_code=applescript,true]git log –graph [/mw_shl_code]可以看到分支合并图

三 分支管理策略

                                首先:master分支很稳定,一般不在上面干活,
一般再分支干活,时不时合并就好

合并分支时,加上--no-ff参数就是普通合并,合并后的历史有分支,看的出来。Fastforward看不出来                               
[mw_shl_code=applescript,true]git merge –no-ff -m “merge with no-ff” dev[/mw_shl_code]

                                四:bug分支
当遇到bug时,先将手头的工作gitstash, 然后创建新的分支进行bug修复,然后合并,最后删除
。最后用gitstash pop 回到工作现场。


五:feature分支
软件开发中,每开发一个新的功能,最好新建一个分支。
如果要丢弃一个没有合并的分支,可以通过gitbranch -D <name>强行删除

六:多人协作

多人协作的模式通常:
1.首先,可以试图用gitpush origin branch-name推送自己的修改
2.如果推送失败,则因为远程分支比你本地更新,需要先用gitpull试图合并
3.如果合并有冲突,则解决冲突,并再本地提交
4.没有冲突或者解决掉冲突后,再用gitpush origin branch -name 推送就能成功
如果gitpull 提示“notracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令[mw_shl_code=applescript,true]git branch –set-upstream branch -name origin/branch-name[/mw_shl_code]

小结:
查看远程库信息,使用[mw_shl_code=applescript,true]git remote -v[/mw_shl_code]
本地新建的分支如果不推送到远程,对其他人不可见
从本地推送分支,使用[mw_shl_code=applescript,true]git push origin branch-name[/mw_shl_code],如果推送失败,先用gitpull抓取远程的新提交
在本地创建和远程分支对应的分支,使用[mw_shl_code=applescript,true]git checkout -b branch-name origin/branch name[/mw_shl_code],本地和分支名称最好一致
建立本地和分支的关联,使用 [mw_shl_code=applescript,true]git branch –set-upstream branch-name origin/branch-name[/mw_shl_code]
从远程抓取分支用[mw_shl_code=applescript,true]git pull[/mw_shl_code],如果有冲突,先处理冲突。






上一篇:用formatR进行代码格式化
下一篇:16sRNA扩增子测序看这几篇文献就够了吧
回复

使用道具 举报

5

主题

22

帖子

172

积分

注册会员

Rank: 2

积分
172
发表于 2017-5-9 13:06:19 | 显示全部楼层
git的分支管理策略里面有一个辅助工具叫git-flow
回复 支持 反对

使用道具 举报

64

主题

138

帖子

681

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
681
 楼主| 发表于 2017-5-9 15:24:13 | 显示全部楼层
hyacz 发表于 2017-5-9 13:06
git的分支管理策略里面有一个辅助工具叫git-flow

谢谢你
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生信技能树 ( 粤ICP备15016384号  

GMT+8, 2020-3-31 09:39 , Processed in 0.025545 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.