Jak*_*ake 34 git git-pull git-push
我刚刚拉了一个新的分支,做了一些本地的修改,承诺并试图推动.我得到了这个错误:! [rejected] groups -> groups (non-fast forward)
所以我尝试了拉,但被告知Already up-to-date.
这就是我拉动然后推动的东西.
~/dev$ git pull origin groups
Already up-to-date.
~/dev$ git push origin groups
To /mnt/ebs/git/repo.git
! [rejected] groups -> groups (non-fast forward)
error: failed to push some refs to '/mnt/ebs/git/repo.git'
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释这是如何发生的以及如何解决它?
Ben*_*ine 24
当你拉动分支时,你是否使用了"--track"选项(为了让你的本地分支跟踪远程分支).如果你没有,它可以解释"merge"命令不起作用.
您可以手动进行合并:
git fetch
git merge origin/groups
Run Code Online (Sandbox Code Playgroud)
为了比较本地和远程repos,我建议你这个命令(在别名中添加它,它是有用的):
git log --graph --oneline --all --decorate
Run Code Online (Sandbox Code Playgroud)
它将打印项目历史记录树,显示分支标签.因此,您将看到您的分支和原点分支的分歧.
注意:如果要保留线性历史记录而不是"合并",则可以在推送之前对远程控制器上的本地分支执行"rebase":
git rebase origin/groups
git push origin groups
Run Code Online (Sandbox Code Playgroud)
我带着不同的问题来到这里.
我的git设置为推动所有分支.我在FOO的一个分支上,但它也试图推动主人,这是不是最新的.诀窍是注意到它试图推动大师:
To git@git.machine:repo
! [rejected] master -> master (non-fast-forward)
Run Code Online (Sandbox Code Playgroud)
我将以下内容添加到我的.gitconfig中,默认情况下只推送当前分支:
[push]
default = current
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16307 次 |
| 最近记录: |