2014-09-19 113 views
1

更新分叉存储库时出现奇怪的错误。我已经在分叉回购中创建了一个开发分支(用于我的开发工作)。将提交推送到分叉存储库的分支

  1. 我克隆了一个分叉回购

    git clone https://github.com/twbs/bootstrap 
    
  2. 检查当前分支

     git branch 
    
         *master 
         dev-branch 
    
  3. 更改为DEV-分支

    git checkout dev-branch 
    
  4. 化妆变化和COMMITED他们到dev分支

    git commit 
    
  5. 添加远程URL

    git remote add parent [email protected]:twbs/bootstrap 
    
  6. 当我现在在做一个混帐推,我得到错误 提示:更新被拒绝,因为尖的当前分支的背后是 提示:及其远程副本

  7. 所以,我做了

    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" 
    
  8. 我仍然得到同样的错误,当我做混帐推

  9. 现在,我做了

    git pull 
        A new commit screen is opened with commit message "Merge branch 'dev-branch' of https://github.com/username/bootsrap into dev-branch 
    
  10. 现在,混帐推工作。

我不知道发生了什么事。我在某个地方犯了什么错误?有人可以向我指出正确的步骤来更新并从不同分支的分支库中推送吗?

回答

1

你使用的是什么版本的git?较旧版本的Git默认使用“试图将所有本地分支推送到远程”,这就是您尝试执行的操作。

Git的较新版本默认只尝试将当前检出的分支推送到上游同名分支(我也不喜欢)。我个人推荐git config --global push.default tracking(或更新版本的上游),它试图将当前分支推向上游。

在你的情况,你有两个分支,它试图推他们两个。两人都被拒绝,因为他们都落后了。

所以你的部分没有错误,但如果你喜欢线性历史,你可能会考虑使用rebase而不是merge。