我正在尝试使用裸存储库来同步两个不同的存储库。我关注这篇文章: https://softwareengineering.stackexchange.com/a/303201/102989
我成功地能够在第一次同步两个repo,但是当我在Repo1中进一步提交某些内容(例如master分支)并尝试运行相同的命令时,它会抛出一个错误:
! [拒绝]主人 - >主(非快进)错误:失败 把一些引用推到'https://UserName:Password@git。 assembla.com/reponame.git'提示:更新了 被拒绝,因为你当前分支的提示背后暗示:它 远程对手。整合远程更改(例如提示:'git pull ......再次推动之前。提示:请参阅“关于快进的说明” 在'git push --help'中了解详情。
请告知我错过了什么
由于
答案 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