18

我的同事将生产修补程序的一些更改合并到他的本地 master 分支中,然后将 master 推送到我们的 GitHub 存储库。现在我正在尝试用他的更改来更新我的本地主分支。当从 git 控制台执行“git pull origin”时,通过显示所有文件似乎一切正常。但是,在接近尾声时,它会以“Aborting”消息停止。

我不知道下一步该做什么。帮助?

更新: 所以问题解决了。问题的真正根源是我的同事从他的分支中的 .gitignore 文件中删除了一些条目,这允许几个新文件进入他的签入。由于我的本地 .gitignore 仍然忽略这些文件,我的本地仓库认为我没有本地工作文件可以添加到索引中。我最终删除了所有文件,然后拉动工作并将它们全部带入。

我肯定会更加小心地编辑 .gitignore 文件并将其签入。我现在对它对其他开发人员的影响有了一些新的认识。

4

2 回答 2

11

他可能将提交放在现有提交树中的某个位置,而不是放在它的顶部。

试试这个:

git fetch origin
git rebase origin/master

如果这不起作用,只需创建一个本地分支origin,将您的本地提交挑选到它上面,在他合并的任何提交之前重置 master,然后将您的本地分支合并到 master。

我的猜测是,他的推动--force在某些时候涉及避免not a fast-forward commit消息。你不想在未来那样做。

于 2011-08-12T00:25:09.433 回答
5

问题的根源是我的同事从他的分支中的 .gitignore 文件中删除了一些条目,这允许几个新文件进入他的签入。由于我的本地 .gitignore 仍然忽略这些文件,因此它认为我没有本地工作文件可以添加到索引中。我最终删除了所有文件,然后拉动工作并将它们全部带入。

于 2011-08-12T03:08:37.990 回答