git:如何将我的工作文件与最新的文件合并

时间:2013-03-12 23:56:48

标签: git git-merge git-pull

我是git的新手,但仍然遇到很多麻烦。

说我正在研究a.cpp。我修改了a.cpp中的一些代码。并且,这种变化还没有准备好提交或推动。

然后,其他人也在a.cpp进行了更改。

在SVN / CVS中,签出会进行合并或冲突。

我认为git pull做同样的事情。

但是,git pull似乎没有合并/冲突。这是正确的行为吗?

另外,git checkout只是重写a.cpp,丢失了所有更改。

有没有简单的方法来提取最新版本并执行合并/冲突?

2 个答案:

答案 0 :(得分:5)

在你拉,stash your changes之前。然后在拉动之后,您可以弹出隐藏的更改并在最新的提交时重新绑定它们。

首先隐藏所有更改

git stash

您可以通过运行stash show来查看您的藏匿处。如果你之前没有藏匿任何东西,你现在应该看到一个藏匿处。您现在可以在不覆盖更改的情况下进行提取:

git pull

现在从存储中删除您的更改并将其应用于当前签出的版本:

git stash pop

答案 1 :(得分:0)

另一种方法是提交NOT push。然后从远程重新定位。