当我尝试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
看起来非常标准和直截了当,不是吗?
答案 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
分支。
请注意,为了能够做到这一点,你不能在被替换的同一分支中,所以总是先去另一个分支。