我是git的新手。
在工作中我们有一个远程存储库,我可以在推送之前在本地进行更改。
只想确认我的工作流程是否正确。
这是我一直在做的工作,但我一直都会遇到这个令人讨厌的错误:
error: failed to push some refs to 'ssh://xxxxx'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
我认为这必须归功于我的工作方式。
请帮忙!
答案 0 :(得分:1)
git fetch命令将来自远程存储库的提交导入到本地存储库中。
生成的提交存储为远程分支,而不是您正在使用的常规本地分支。
这使您有机会在将更改集成到项目副本之前查看更改。
$ git pull <remote>
获取当前分支的指定远程副本,并立即将其合并到本地副本中。这与git fetch <remote>
后跟git merge origin/<current-branch>
相同。
$ git pull --rebase <remote>
与上述命令相同,但不使用git merge
将远程分支与本地分支集成,而是使用git rebase
。
答案 1 :(得分:0)
您应该检查远程和本地分支的状态。为此
答案 2 :(得分:0)
git pull首先从远程仓库获取代码,并通过合并来更新本地仓库。
git pull origin master
提交更改后,您必须拉一下,然后推送您的更改。应手动解决任何冲突。 在新分支上工作时,首先将其与主人合并,同时留在该分支上。
$git branch
newbranch
$git pull origin master
This will update your new branch with master changes and both the branches are at same state
现在,$git checkout master
然后git merge newbranch
这会将newbranch与master合并。
我建议你推荐Git-Branching-Basic-Branching-and-Merging以便对git有一个很好的理解。