同步同步两个不同的git repo时出错

时间:2017-10-25 13:14:06

标签: git

我正在尝试使用裸存储库来同步两个不同的存储库。我关注这篇文章: https://softwareengineering.stackexchange.com/a/303201/102989

我成功地能够在第一次同步两个repo,但是当我在Repo1中进一步提交某些内容(例如master分支)并尝试运行相同的命令时,它会抛出一个错误:

  

! [拒绝]主人 - >主(非快进)错误:失败   把一些引用推到'https://UserName:Password@git。   assembla.com/reponame.git'提示:更新了   被拒绝,因为你当前分支的提示背后暗示:它   远程对手。整合远程更改(例如提示:'git pull   ......再次推动之前。提示:请参阅“关于快进的说明”   在'git push --help'中了解详情。

请告知我错过了什么

由于

1 个答案:

答案 0 :(得分:0)

关于git的一个好处是,它的错误消息是非常明确git认为正在发生什么以及git认为你可以做些什么。当然,在极少数情况下,作者可能会对您的意图做出错误的假设,但这不是其中之一。

错误消息显示

  

错误:无法将某些引号推送到“https://UserName:Password@git。 assembla.com/reponame.git'

好的,你错过了什么?

  

更新被拒绝,因为您当前分支的提示落后于其远程对手。

您不能(默认情况下)推送到包含您尚未在本地进行的更改的远程分支;您必须先将远程分支上已有的所有更改合并到本地分支中,然后再进行推送。这是必要的,因为这意味着合并总是在本地发生,从而有机会解决冲突。

那你能做什么?

  

整合远程更改(例如'git pull ...')

您可以运行git pull。或者,相当但更清晰(有时建议,特别是对于不太习惯使用git的用户),你可以

git fetch
git checkout master
git merge origin/master