转载

每日一博 | GIT在使用中如何处理冲突问题

如果出现push的代码与合并的代码出现冲突的情况,应该进行rebase操作。

如果与当前版本冲突的版本尚未合并到主干,这个时候可以在网站进行自动rebase,这样的操作就是让你的版本排在冲突版本之前。

本地rebase的操作是使用master分支进行下拉,然后将当前冲突版本与master主干进行rebase

直接下拉的操作实际是自动rebase,下拉有两个操作,一个是Fetch,一个是rebase,下拉后git将自动rebase当前冲突版本与冲突版本,很容易就使得两个版本的文件混淆,不建议这样直接下拉的操作。

正确的操作是使用master的时候选择Fast Forward only,这样避免下拉的版本与当前版本混淆

如果上述操作不能成功下拉,应该选择Fetch,事实上pull的操作包括Fetch和rebase,所以直接Fetch的时候,主干的版本并不会马上与当前版本rebase,需要做的是在show log里面显示show whole project,这样在show log里面就可以看到所有的版本和主干,这个时候再用当前冲突版本与主干进行手动rebase,这样就避免了自动rebase出现的版本混淆。

在手动rebase的时候,如果出现了文件冲突,一般是对红色模块进行判断,或者主观选择整个冲突文件。另一种方法是在rebase的过程中不要关闭rebase界面,而是在eclipse中对冲突文件进行手动的修改,然后在rebase界面里选择我已经解决当前冲突文件,接着commit,就可以完成文件rebase。

一种解决自动rebase的操作是在show log里面选择当前混淆的版本,选择reset当前版本,在reset type里面选择Hard硬模式,这样可以直接返回下拉前版本。

原文  http://my.oschina.net/luckid/blog/674764?fromerr=efeeYcrU
正文到此结束
Loading...