我们有一个包含两名开发人员的项目,其中有一个我们都在本地克隆的远程存储库,并在其中进行工作。
在进行更改后,我们转到另一个服务器(简称为S),在此发生实际的魔术。生产。在这里,我们必须从先前提到的回购中撤消更改。
由于某些原因,我们有不同的远程存储库(对我来说是替代品,对我朋友来说是原产地),因此当我要在生产中更新远程更改时,我使用git pull alt master
时会指出:
"Your branch is ahead of "origin/master" by X commits. Use "git push" to publish your local commits."
这是什么意思?我的朋友需要使用“ git pull origin master”来更新它的实际建议吗?我没有原始/母版的书面许可,这是否意味着他在S中使用git pull origin master
可以使通知消失吗?
我了解这是非常基础的内容,但是我们在这方面都是新手,因此非常感谢您的帮助! :)我也浏览了大多数类似的问题,但是找不到答案。
答案 0 :(得分:0)
您说
当我要在生产中更新远程更改时,我使用
git pull alt master
但这不是将您的新更改发送到生产服务器的适当操作。
您必须在此处push
进行新的提交,这就是消息的提示。 “领先”意味着对另一端的承诺未知。
一天结束时,一旦您和您的朋友就发布状态达成共识,则其中一个应该将新的提交*推送到服务器S。
* (也许此时还考虑在此版本的提交上添加标签,这是强制实施的好习惯)
答案 1 :(得分:0)
让我逐步解释
“您的分支在X提交之前位于“起源/主”之前。使用“ git push”发布您的本地提交。”
那么现在为什么收到此消息?
因为您的远程仓库位于 Commit1 且更新更改为零,而当前仓库位于 CommitX ,则当您尝试从远程仓库中拉出时,基本上是说您没有更改为pull,但当前的回购在X commit之前领先,因为您已进行了提交但尚未推送,这是建议尝试推送而不是pull,因为从远程进行Pull的更改没有
要避免出现此消息,只需使用Git Push Commond通过直接推送将您的更改推送到Remote repo,或者您可以跟踪项目中当前正在关注的GitFlow