我使用Git作为源代码控制。我不完全理解发生了什么,以为我运行得很好。然后我去提交最新的分支,显然有效,但是当我尝试推动时,我得到了这个:
我担心如果我通过做一个git pull来合并这些变化,我真的会把这个好分支搞砸。 当我查看SourceTree上的文件状态时,我有这个:
如何解决这个问题,以便我可以继续开发一个新分支?我害怕尝试像
这样的东西git pull --rebase origin master
没有比我告诉我更了解的人,并且会解决我的问题......
更新 使用正确的分支再次推动这是我得到的:
git -c diff.mnemonicprefix=false -c core.quotepath=false push -v SalonBook 1.9.3:1.9.3
Pushing to https://SpokaneDude@bitbucket.org/SpokaneDude/salonbook-git.git
git: 'credential-osxkeychain' is not a git command. See 'git --help'.
git: 'credential-osxkeychain' is not a git command. See 'git --help'.
To https://SpokaneDude@bitbucket.org/SpokaneDude/salonbook-git.git
! [rejected] 1.9.3 -> 1.9.3 (non-fast-forward)
error: failed to push some refs to 'https://SpokaneDude@bitbucket.org/SpokaneDude /salonbook-git.git'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. Check out this branch and merge the remote changes
hint: (e.g. 'git pull') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
Completed with errors, see above
答案 0 :(得分:0)
在推动之前,你应该git pull
。
这将从远程分支获取任何更改并在本地合并它们。
然后你就能推。
答案 1 :(得分:0)
git pull --rebase
会解决您的问题。落后于X提交并不是什么大不了的事,只是意味着其他人在你做之前将提交推送到遥控器。
当多个人在同一个远程仓库上工作时,这是一个常见的事件。