我的本地存储库经常说* branch develop - > FETCH_HEAD已经是最新的

时间:2016-05-24 00:40:00

标签: git github version-control git-push git-pull

当我尝试git pull origin develop ...问题是我知道它不是最新的。我想把所有内容都拉回来,让所有内容都与其他人一起提交。

如果我在本地存储库中没有其他重要的东西,我可以从原点重新开发吗?我认为它会覆盖所有内容,但至少我会更新并且保存版本是其他所有人!?!?!?

这是我使用git的原始工作流程,但不知怎的,所有内容都有偏差:

git add files_that_were_updated
git commit -m "Message."
git push origin BUG-#
git checkout develop
git fetch origin
git pull origin develop
git merge BUG-#
git push origin develop

看起来非常标准和直截了当,不是吗?

1 个答案:

答案 0 :(得分:0)

当你执行第一次提交时,不可能看到你是哪个分支,所以有可能你直接提交到develop分支,认为你在BUG-#分支上。这可以解释为什么您收到“已经是最新的”消息,因为您的本地develop现在位于远程存储库上的develop之前。

确保从远程存储库(例如,源)到存储库获取最新分支的一种简单方法是执行git fetch branchName:branchName --force,同时您处于与{{1}不同的分支中}。

在您的示例中,类似这样的内容:

branchName

上面的最后一个命令将使用# assuming you are on branch `BUG-#` git add files_that_were_updated git commit -m "Message." git push origin BUG-# git fetch origin develop:develop --force ... 遥控器指向的服务器上的develop分支替换您的本地develop分支。

请注意,为了能够做到这一点,你不能在被替换的同一分支中,所以总是先去另一个分支。