- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
常⻅操作
全局配置⽤户信息
git config --global "smyhvae"
git config --global user.email "smyhvae@163.com"
分⽀的合并
场景:基于master分⽀的代码,开发⼀个新的特性
如果你直接在master分⽀上开发这个新特性,是不好的,万⼀你在开发 特性1 的时候,领导突然⼜要
叫你去开发 特性2 ,就不好处理了。难道开发的两个特性都提交到master?⼀会⼉提交特性1的
commit,⼀会⼉提交特性2的commit?这会导致commit记录很混乱。
所以,我给你的建议做法是:给每个特性都单独建⼀个的新的分⽀。
⽐如说,我专⻔给特性1 建⼀个分⽀ feature_item_recommend 。具体做法如下:
(1)基于master分⽀,创建⼀个新的分⽀,起名为 feature_item_recommend :
$ git checkout -b feature_item_recommend
Switched to a new branch 'feature_item_recommend'
上⾯这⾏命令,相当于:
$ git branch feature_item_recommend // 创建新的分⽀
$ git checkout feature_item_recommend //切换到新的分⽀
(2)在新的分⽀ feature_item_recommend 上,完成开发⼯作,并 commit 、push。
(3)将分⽀ feature_item_recommend 上的开发进度合并到master分⽀:
$ git checkout master //切换到master分⽀
$ git merge feature_item_recommend //将分⽀ feature_item_recommend 的开发
进度合并到 master 分⽀
合并之后, master 分⽀和 feature_item_recommend 分⽀会指向同⼀个位置。
(3)删除分⽀ feature_item_recommend :
既然特性1 开发完了,也放⼼地提交到master了,那我们就可以将这个分⽀删除了。
git branch -d feature_item_recommend
注意,我们当前是处于master 分⽀的位置,来删除 feature_item_recommend 分⽀。如果当前是
处于 feature_item_recommend 分⽀,是没办法删除它⾃⼰的。
同理,当我转身去开发特性2 的时候,也是采⽤同样的步骤。
合并分⽀时,如果存在分叉
⽐如说上⾯这张图中,最早的时候,master分⽀是位于 C2 节点。我基于 C2 节点,new出⼀个新的
分⽀ iss53 ,我在 iss53 上提交了好⼏个commit。
现在,我准备把 iss53 上的⼏个commit合并到master上,此时发现,master分⽀已经前进到C4
了。那该怎么合并呢?
合并的命令仍然是:
$ git checkout master
$ git merge iss53
解释:
这次合并的实现,并不同于简单的并⼊⽅式。这⼀次,我的开发历史是从更早的地⽅开始分叉的。
由于当前 master 分⽀所指向的commit (C4)并⾮想要并⼊分⽀(iss53)的直接祖先,Git 不得不进⾏
⼀些处理。就此例⽽⾔,Git 会⽤两个分⽀的末端(C4 和C5)和它们的共同祖先(C2)进⾏⼀次简单
的三⽅合并计算。
Git 没有简单地把分⽀指针右移,⽽是对三⽅合并的结果作⼀新的快照,并⾃动创建⼀个指向它的
commit (C6)(如下图所示)。我们把这个特殊的commit 称作合并提交(mergecommit),因为
它的祖先不⽌⼀个。
值得⼀提的是Git 可以⾃⼰裁决哪个共同祖先才是最佳合并基础;这和CVS 或Subversion (1.5 以后的
版本)不同,它们需要开发者⼿⼯指定合并基础。所以此特性让Git 的合并操作⽐其他系统都要简单
不少。
解决合并时发⽣的冲突
如果 feature1和feature2修改的是同⼀个⽂件中代码的同⼀个位置,那么,把feature1合并到
feature2时,就会产⽣冲突。这个冲突需要⼈⼯解决。步骤如下:
(1)⼿动修改⽂件:⼿动修改冲突的那个⽂件,决定到底要⽤哪个分⽀的代码。
(2)git add :解决好冲突后,输⼊
您可能关注的文档
- 前端学习总结-01-VSCODE的使用.pdf
- 前端学习总结-03-whistle网络抓包.pdf
- 前端学习总结-04-WebStorm的使用.pdf
- 前端学习总结-06-Sublime Text在前端中的使用.pdf
- 前端学习总结-08-VS Code的使用积累.pdf
- 前端学习总结-10-Emmet in VS Code.pdf
- 部编版三年级道法下册全册分层作业设计.pdf
- 12.1环保有搭档(教学课件)二年级道德与法治下册(统编版).ppt
- 12.2展示我的环保搭档(教学课件)二年级道德与法治下册(统编版).ppt
- 第1课 假期有收获 课件 二年级道德与法治上册(部编版).ppt
- 第12课 我们小点儿声 课件 二年级道德与法治上册(部编版).ppt
- 11.2我从哪里来(教学课件)二年级道德与法治下册(统编版).ppt
- 第10课 我们不乱扔 课件 二年级道德与法治上册(部编版).ppt
- 1.3过好我们的课余生活 课件五年级道德与法治上册(部编版).ppt
- 第四单元《法律保护我们健康成长》大单元整体学程设计道德与法治六年级上册统编版.pdf
- 第十一课:多姿多彩的民间艺术(分层练习)四年级道法下册 部编版.pdf
- 第八课:大家的“朋友”(分层练习)三年级道法下册 部编版.pdf
- 第5课 我爱我们班 课件 二年级道德与法治上册(部编版).ppt
- 第二单元 我们是公民 大单元整体学程设计道德与法治六年级上册统编版.pdf
- 人教部编版二年级语文下册第五单元单元教学课件.ppt
文档评论(0)