我是git的新手,但仍然遇到很多麻烦。
说我正在研究a.cpp
。我修改了a.cpp
中的一些代码。并且,这种变化还没有准备好提交或推动。
然后,其他人也在a.cpp
进行了更改。
在SVN / CVS中,签出会进行合并或冲突。
我认为git pull
做同样的事情。
但是,git pull
似乎没有合并/冲突。这是正确的行为吗?
另外,git checkout
只是重写a.cpp
,丢失了所有更改。
有没有简单的方法来提取最新版本并执行合并/冲突?
答案 0 :(得分:5)
在你拉,stash your changes之前。然后在拉动之后,您可以弹出隐藏的更改并在最新的提交时重新绑定它们。
首先隐藏所有更改
git stash
您可以通过运行stash show
来查看您的藏匿处。如果你之前没有藏匿任何东西,你现在应该看到一个藏匿处。您现在可以在不覆盖更改的情况下进行提取:
git pull
现在从存储中删除您的更改并将其应用于当前签出的版本:
git stash pop
答案 1 :(得分:0)
另一种方法是提交NOT push。然后从远程重新定位。