2016-12-15 50 views
-1

我是git的新手,我真的很难理解它的许多概念。Git:如果需要使用其他更改升级分支,如何将更改合并到分支?

我不得不在一个我没有碰过几天的分支上更改1个文件,所以签出了该分支,进行了更改并将其推回。不过,我收到了一个错误,说我正在尝试fast-forward,并且有我需要合并的内容。所以,我决定git checkout master让我的分支与主人一样。

然后我运行git status,看到有数千个新的和修改过的文件可以被推送 - 而不仅仅是我工作的那个文件。

我不想将所有这些文件推送到我的分支。有没有办法解决这个问题?

回答

1

您对Git的工作方式以及非快速前向错误的实际含义非常困惑。所有错误意味着其他开发人员在上次提交之后向远程分支提交了一个或多个提交。因此,Git拒绝将您的提交盲目应用到自上次提取以来的提交,因为通常会出现需要手动编辑文件以解决问题的冲突。你所需要做的就是将本地分支拉出来,在发生冲突时解决冲突,然后将分支推出。像这样的东西应该工作:

git pull origin yourBranch 
# resolve merge conflicts, shouls they occur 
git push origin yourBranch 

关于master分支,你不需要现在就担心。也许以后,当整个功能准备进入master时,这将成为一个问题。

我不知道为什么切换到master给了你成千上万的变更文件。但好消息是这不是你的直接问题。

+0

感谢您的回复!我唯一的问题是,我最初的'git checkout'是否会抓住其他开发人员所做的更改? – MeltingDog

+1

'git checkout'开关分支,它不修改任何分支。您需要合并或重新绑定。 –

+0

啊谢谢!很有帮助 – MeltingDog

相关问题