2

我有一个本地分支,我没有做任何更改。然后我做

git checkout anotherbranch
# Switched to branch 'anotherbranch'
# Your branch is behind 'origin/anotherbranch' by 25 commits, and can be fast-forwarded.
# (use "git pull" to update your local branch)

所以显然我需要拉来获取所有最新的变化。我这样做

git pull origin anotherbranch

我希望现在一切都能同步,但这不是因为

git status
On branch anotherbranch
Your branch is ahead of 'origin/anotherbranch' by 2 commits.
(use "git push" to publish your local commits)

nothing to commit, working directory clean

这是因为 git pull 的合并部分添加了另外两个提交吗?但是,当我执行 git log 时,这些提交不会显示。取而代之的是另一位作者的两次提交。推动他的两次提交对我来说感觉不对。实际上我根本不想推送任何东西,只想更新我的本地分支。我怎样才能做到这一点?如果 git pull 是一个错误,我怎么能在不产生替代现实或其他 git 恐怖的情​​况下恢复它(我没有推送任何东西,除了在另一个功能分支上)

4

2 回答 2

0
git status
On branch anotherbranch
Your branch is ahead of 'origin/anotherbranch' by 2 commits.
(use "git push" to publish your local commits)

这意味着您有 2 个未推送的提交。

作为最佳实践,最好运行

git fetch

偶尔获取所有服务器元数据(更新删除分支、新提交等)

这个命令的结果是什么:

git log --oneline

它会向您显示所有提交的日志,以便您可以看到问题所在

于 2013-08-13T09:12:28.547 回答
-1

好的,所以在我执行 git checkout anotherbranch 之前,我需要执行 git rebase origin/anotherbranch 这样做没有错,因为我在一个私有特性分支上。

于 2013-08-13T12:22:28.580 回答