【发布时间】:2016-04-12 04:42:30
【问题描述】:
我有一个 git repo,其中一个 master 设置在上游,还有一个 dev 分支,它从这个 master 获取每个流。
我在我的 dev 分支上提交了一些更改,这些更改仅对这个特定的分支有用,而不是对 master 有用,我
我当前的分支是:
git status
On branch dev
Your branch is ahead of 'master' by 2 commits.
当我这样做时,我的提交是可见的
git diff origin/master..HEAD
我的分支是最新的(并且像以前一样通过 master):
git pull
From .
* branch master -> FETCH_HEAD
Already up-to-date.
但是当我推动时,我被打了:
git push origin
To https://my_git.git
! [rejected] dev -> dev (non-fast-forward)
error: failed to push some refs to 'https://my_git.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
任何提示将不胜感激,我看过几个这样的帖子: git push rejected non-fast-forward 或 Git non-fast-forward rejected ,但它们似乎都不适用于我的情况。
谢谢
【问题讨论】:
-
您(或者更确切地说是您的 git 客户端)正在尝试将分支 dev 推送到服务器,这显然无法快速转发。所以你应该要么做
get fetch dev和rebase,或者只是用git push origin master推动主分支 -
dev分支是否已经存在?git fetch origin dev && git status会很有帮助。 -
当我执行 git fetch dev 我得到了致命的:'dev' 似乎不是 git 存储库致命:无法从远程存储库读取。请确保您具有正确的访问权限并且存储库存在。但事实上,我已经在我的开发分支上,所以它是存在的,我的用户可以访问它。有什么想法吗?
-
git fetch origin dev From my_git * branch dev -> FETCH_HEAD
-
git checkout master git push origin master 一切都是最新的