更新分叉存储库时遇到奇怪的错误。我已经在forked repo中创建了一个dev-branch(用于我的开发工作)。
我克隆了一个分叉的回购
git clone https://github.com/twbs/bootstrap
检查当前分支
git branch
*master
dev-branch
更改为dev-branch
git checkout dev-branch
进行更改并将其提交给dev-branch
git commit
添加远程网址
git remote add parent git@github.com:twbs/bootstrap
当我现在进行git推送时,我收到错误 提示:更新被拒绝,因为您当前分支的提示落后 提示:它的远程对手
所以,我做了
git fetch parent
git merge parent/master
A new commit screen is opened with commit message "Merge remote-tracking branch 'bootstrap/master' into dev-branch"
当我执行git push
现在,我做了
git pull
A new commit screen is opened with commit message "Merge branch 'dev-branch' of https://github.com/username/bootsrap into dev-branch
我不知道发生了什么。我在某个地方犯了错误吗?有人可以向我指出更新和推送分叉存储库的不同分支的正确步骤吗?
答案 0 :(得分:1)
你使用的是什么版本的git?较早版本的Git用于默认“尝试将所有本地分支推送到远程”,这是您尝试做的。
较新版本的Git默认只尝试将当前签出的分支推送到上游相同名称的分支(我也不喜欢)。我个人推荐git config --global push.default tracking
(或更新版本的上游),它会尝试将您当前的分支推送到上游。
在你的情况下,你有两个分支,它试图推动它们。两人都被拒绝,因为两人都落伍了。
所以你真的没有错,尽管如果你更喜欢线性历史,你可能想要考虑改变而不是合并。