前端学习总结-02-Git的使用.pdfVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 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 :解决好冲突后,输⼊

您可能关注的文档

文档评论(0)

186****7154 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档