一般在merge之后,会出现conflict,须要针对冲突情况棘手动解除冲突。主如果因为两个用户修改了同一文件的同一块区域。如下图所示,须要手动解除。

rebase

rebase又称为衍合,是归并的别的一种选择。
在开端阶段,我们处于new分支上,履行 git rebase dev ,那么new分支上新的commit都在master分支上重演一遍,最后checkout切换回到new分支。这一点与merge是一样的,归并前后所处的分支并没有改变。 git rebase dev ,通俗的解释就是new分支想站在dev的肩膀上持续下去。rebase也须要手动解决冲突。
rebase与merge的差别
- D---E test
- /
- A---B---C---F master
在master履行 git merge test ,然后会获得如下结不雅:
- D--------E
- / \
- A---B---C---F----G test, master
在master履行 git rebase test ,然后获得如下结不雅:
- A---B---D---E---C'---F' test, master
可以看到,merge操作会生成一个新的节点,之前的提交分开显示。而rebase操作不会生成新的节点,是将两个分支融合成一个线性的提交。
如不雅你想要一个干净的,没有merge commit的线性汗青树,那么你应钙揭捉?择git rebase
如不雅你想保存完全的汗青记录,并且想要避免重写commit history的风险,你应钙揭捉?择应用git merge
reset

reset敕令把当前分支指向另一个地位,并且响应的更改工作区和暂存区。

revert
长途仓库的内容可能被分布在多个地点的处于协作关系的本地仓库修改,是以它可能与本地仓库同步,也可能不合步,然则它的内容是最旧的。

git revert用一个新提交来清除一个汗青提交所做的任何修改。
revert与reset的差别

- git revert是用一次新的commit往返滚之前的commit,git reset是直接删除指定的commit。
- 在回滚这一操作上看,效不雅差不多。然则在日后持续merge以前的老版本时有差别。因为git revert是用一次逆向的commit“中和”之前的提交,是以日后归并老的branch时,导致这部分改变不会再次出现,削减冲突。然则git reset是之间把某些commit在某个branch上删除,因而和老的branch再次merge时,这些被回滚的commit应当还会被惹人,产生很多冲突。
- git reset 是把HEAD向后移动了一下,而git revert是HEAD持续进步,只是新的commit的内容和要revert的内容正好相反,可以或许抵消要被revert的内容。
push

上传本地仓库分支到长途仓库分支,实现同步。

其他敕令
推荐阅读
量子技术对世界有毁灭性,科学家:必须保持封禁状态,还有支持者
对于中国的量子雷达技巧,已经表示除了对美国黑潜艇的威逼,而量子通信技巧在俄罗斯的科学家眼中给出了一个震动世界的说法,量子技巧是对世界有息灭性的的技巧,这些技巧的曝光对新文明,科技,科学造成了很大年夜的>>>详细阅读
本文标题:一篇文章,教你学会Git
地址:http://www.17bianji.com/lsqh/37138.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示