探索吧 > 百科 > git解决冲突的方法、git中merge和rebase的区别

git解决冲突的方法、git中merge和rebase的区别

导读git中merge和rebase的区别最佳答案1.采用merge和rebase后,git log的区别,merge命令不会保留merge的分支的commit:2.处理冲突的方式:·(一股脑)使用merge命令合并分支,解决完冲突,执行git a...

今天探索吧就给我们广大朋友来聊聊git解决冲突的方法,以下关于观点希望能帮助到您找到想要的答案。

git中merge和rebase的区别

最佳答案1.采用merge和rebase后,git log的区别,merge命令不会保留merge的分支的commit:

2.处理冲突的方式:

·(一股脑)使用merge命令合并分支,解决完冲突,执行git add .和git commit -m'fix conflict'。这个时候会产生一个commit。

·(交互式)使用rebase命令合并分支,解决完冲突,执行git add .和git rebase --continue,不会产生额外的commit。这样的好处是,‘干净’,分支上不会有无意义的解决分支的commit;坏处,如果合并的分支中存在多个commit,需要重复处理多次冲突。

3.git pull和git pull --rebase区别:git pull做了两个操作分别是‘获取’和合并。所以加了rebase就是以rebase的方式进行合并分支,默认为merge。

举个例子:

假设我们现在有3个分支

master分支:线上环境使用的分支

testing分支:测试环境使用的分支

my_feature分支:开发新功能的分支,也就是当前分支

A. 假设我在my_feature上开发了一段时间,之后另外的同事开发的功能正式上线到master分支了,那么我可以在当前的分支下rebase一下master分支,这样我这个分支的几个commits相对于master还是处于最顶端的,也就是说rebase主要用来跟上游同步,同时把自己的修改顶到最上面

B. 我在my_feature上开发了一段时间了,想要放到testing分支上,那就切到testing,然后merge my_feature进来,因为是个测试分支,commits的顺序无所谓,也就没必要用rebase (当然你也可以用rebase)

原理:

myeclipse git pull冲突,怎么办

最佳答案处理的方式非常简单,主要是使用git stash命令进行处理,分成以下几个步骤进行处理。

1、先将本地修改存储起来

$ git stash

这样本地的所有修改就都被暂时存储起来 。是用git stash list可以看到保存的信息:

git stash暂存修改

其中stash@{0}就是刚才保存的标记。

2、pull内容

暂存了本地修改之后,就可以pull了。

$ git pull

3、还原暂存的内容

$ git stash pop stash@{0}

系统提示如下类似的信息:

Auto-merging c/environ.c

CONFLICT (content): Merge conflict in c/environ.c

意思就是系统自动合并修改的内容,但是其中有冲突,需要解决其中的冲突。

4、解决文件中冲突的的部分

打开冲突的文件,会看到类似如下的内容:

git冲突内容

其中Updated upstream 和=====之间的内容就是pull下来的内容,====和stashed changes之间的内容就是本地修改的内容。碰到这种情况,git也不知道哪行内容是需要的,所以要自行确定需要的内容。

解决完成之后,就可以正常的提交了。

从上文内容中,大家可以学到很多关于git解决冲突的方法的信息。了解完这些知识和信息,探索吧希望你能更进一步了解它。

本文来自网络,不代表本站立场,转载请注明出处:https://www.tsc-b.com/baike/104462.html

作者: 探索吧

探索吧为您提供最全面的生活百科网站大全,主要为您提供数码、汽车、财经、美食、财经、科技、健康、教育、创业、电商、影视、百科等资讯信息,在这里可以找到您所需的答案,解决您所困惑的问题。
权威的执照变更费用--个体工商户变更营业执照上的经营范围要多少钱
手机屏的价格.手机屏的价格为何差异那么大
联系我们

联系我们

0898-88881688

在线咨询: QQ交谈

邮箱: email@wangzhan.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部