我是git的新手,我真的很难理解其中的许多概念。
我必须在一个我没有碰过几天的分支上更改1个文件,所以检查了那个分支,进行了更改并将其推回。但是,我收到一个错误,说我正在尝试fast-forward
,并且我需要合并内容。所以,我决定git checkout master
让我的分支与主人的分支内联。
然后我运行了git status
,看到我已经准备推送了数以千计的新文件和修改过的文件 - 而不仅仅是我工作过的文件。
我不想将所有这些文件都推送到我的分支中。有没有办法解决这个问题?
答案 0 :(得分:1)
你似乎对Git如何工作以及非快进误差实际意味着什么感到困惑。所有错误的意思是,自上次提取以来,其他一些开发人员已经对远程分支进行了一次或多次提交。因此,Git拒绝盲目地将您的提交应用于该分支,因为您上次提取因为通常会出现需要手动编辑文件才能解决的冲突。您需要做的就是在本地拉出该分支,解决发生的任何冲突,然后推出您的分支。这样的事情应该有效:
git pull origin yourBranch
# resolve merge conflicts, shouls they occur
git push origin yourBranch
关于master
分支,您现在无需担心。也许在以后,当整个功能准备进入master
时,这将成为一个问题。
我不知道为什么切换到master
会给你数千个已更改的文件。但好消息是,这不是你的直接问题。