解决Git合并冲突

一个Git仓库被克隆在几个开发者的本地机器上。对存储库中的代码进行了一些更改。我们现在遇到错误:

error: Your local changes to the following files would be overwritten by merge:

        public_html/sites/file
        public_html/sites/file1.txt
        public_html/sites/file2.txt
Please, commit your changes or stash them before you can merge.
Aborting

我已经在线阅读了很多线程,并建议了几个不同的选项。运行一种方法:

 git stash
 git pull
 git stash pop

我想我明白了囤积的基本原则。我的问题是,这是一个很好的解决方案,我可以遇到使用这种方法的任何问题?我对Web开发有一个合理的理解,但是我是一个相当基本的Git用户,并且不会有很多能力使自己摆脱麻烦。

git stash是完全合法的,虽然如Greg所说,由于某种原因修复冲突可能会奇怪。但他们仍然可以固定,你不会真的fubar什么。我知道要重新应用存储的命令是git stash apply,虽然pop可能是一个替代方法,我不知道(或者它可以做一些不同的,我不知道,所以你可能想使用apply 。)

有没有理由你不想在合并之前提交这些更改?一般来说这是正确的事情。

另一种选择是:

git stash
git checkout -b newwork
git stash apply
git commit ...

这将创建一个新的分支,这将允许你获得你的主人最新没有冲突,(再次检查主,然后拉或获取合并)。然后你可以合并你的分支回来(同时仍然在主)git合并新手。您可以解决主服务器上的冲突,同时仍然保留对新工作的工作没有任何冲突。如果你担心冲突真的会使事情发生,这是一个更安全一点,但一般来说,冲突只是过程的一部分,所以不要太担心它们。

http://stackoverflow.com/questions/7694467/resolving-git-merge-conflicts

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:解决Git合并冲突