合并代码有问题

时间:2014-03-02 16:31:33

标签: git github

我和我的朋友正在GitHub上开展一个项目。

他最近将代码推送到我没有的repo,我已经编写了一些代码,但没有推送。意思是,GitHub上的repo有他的提交但是我的本地repo没有那个提交,所以它是一个提交背后。但我已经对当地的回购做了一些改变,我不想失去它。

现在我被卡住了,我不能在不删除他的代码的情况下推动,而且如果不删除我的更改,我就无法完成。那么如何保持这两个变化呢?我听说过合并,但我无法弄清楚如何得到他的提交并将其与我合并。

我如何保持我和他的变化?

2 个答案:

答案 0 :(得分:1)

可以拉动而不删除你的更改。幕后的git pull等同于:

git fetch remote
git merge remote/branch

因此,您的更改将是安全的,并且将包括您的同事的更改。创建新的合并提交以合并分歧的工作副本。

如果您没有进行任何更改,git通常会执行快进,这会将您的状态设置为其他人。 git只有在安全的情况下才会这样做!


如果您尚未提交更改:提交或更新git stashgit将不允许您pull,直到安全为止!

答案 1 :(得分:1)

您将更改提交到本地仓库。然后执行

git pull

将合并他的更改或

git pull --rebase

将在他的更改之后重写您的更改,就好像您之后已经写过它们一样。

当然,无论您选择何种策略,都有可能发生冲突,您必须解决。按照说明进行操作。

任何Git书都涵盖了这一点,其中一些可以在线免费获得。看看他们。