我目前的分支是my_branch.我试图将更改推送到远程仓库:
$ git push
Counting objects: 544, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (465/465), done.
Writing objects: 100% (533/533), 2.04 MiB | 1.16 MiB/s, done.
Total 533 (delta 407), reused 0 (delta 0)
To git@......git
4ed90a6..52673f3 my_branch -> my_branch
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@......git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again. See the
'Note about fast-forwards' section of 'git push --help' for details.
Run Code Online (Sandbox Code Playgroud)
试图git pull导致:
$ git pull
Already up-to-date.
Run Code Online (Sandbox Code Playgroud)
为什么我会收到此错误?我怎么能解决这个问题并git push成功执行?
mea*_*gar 28
我目前的分支是my_branch.
那是你的问题.当你拉动时,Git告诉你你的分支my_branch是最新的,而不是 master,这origin/master使得快进合并无法实现.
为了推动主人,你需要检查master和拉.这将合并等待的更改,origin/master并允许您推送自己的更改.
git checkout master
git pull
# resolve conflicts, if any
git push
Run Code Online (Sandbox Code Playgroud)
[如果您的主分支已经配置为在pull上进行rebase,那么您只需要对其他answerd中描述的master分支进行拉取,否则:]
如果您收到非快进消息,这意味着您只能在现有提交的基础上推送提交,但您尝试不这样做.在推送之前对master进行rebase(假设远程称为origin):
git checkout master
git pull --rebase origin master
git push
Run Code Online (Sandbox Code Playgroud)
另见这个问题:git rebase和git push:非快进,为什么要使用?
| 归档时间: |
|
| 查看次数: |
65792 次 |
| 最近记录: |