在rebase修改了2个分支后,Git push -f

时间:2017-06-01 09:40:30

标签: git

我做了一个简单的git fetch --all --prune来获取master的修改,然后我做了git pull

之后我又回到了另一个分支上,用git rebase master从主人那里重新定义它。在此之后,一切似乎都有效。

但是我做了git push -f在遥远的Gitlab上发送了这个修改,git推到了我的rebase分支和另一个我从未接触过一个星期的分支。 这是git第一次这样做。

有git痕迹

➜  n-admin git:(master) ✗ git fetch --all --prune
Fetching origin
git remote: Counting objects: 55, done.
remote: Compressing objects: 100% (54/54), done.
remote: Total 55 (delta 16), reused 0 (delta 0)
Unpacking objects: 100% (55/55), done.
From git.foo.net:foo/project
   d626c2e..928ac1b  master     -> origin/master
 + 206f658...177ea93 llb-design -> origin/llb-design  (forced update)

➜  n-admin git:(master) ✗ git pull
Updating d626c2e..928ac1b
Fast-forward
 docker-compose.override.yml.dist                             
 src/AppBundle/foo/bar.php     
 src/AppBundle/Controller/fooController.php             
 src/AppBundle/Form/DataTransformer/fooTransformer.php
 4 files changed, 72 insertions(+), 7 deletions(-)
 create mode 100644 src/AppBundle/Command/barCommand.php

➜  n-admin git:(master) ✗ git co my-branch 
Switched to branch 'my-branch'
Your branch is up-to-date with 'origin/my-branch'.

➜  n-admin git:(my-branch) ✗ git rebase master
First, rewinding head to replay your work on top of it...
Applying: foo1
Applying: foo2
Applying: foo3

➜  n-admin git:(my-branch) ✗ git push -f 
git Counting objects: 188, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (160/160), done.
Writing objects: 100% (188/188), 19.99 KiB | 0 bytes/s, done.
Total 188 (delta 143), reused 29 (delta 18)
co mremote: 
remote: View merge request for llb-design:
remote:   https://git.foo.net/foo/bar/merge_requests/494
remote: 
remote: View merge request for my-branch:
remote:   https://git.foo.net/foo/bar/merge_requests/502
remote: 
To git@git.foo.net:foo/bar.git
 + 177ea93...206f658 llb-design -> llb-design (forced update)
 + ba2a2b6...7734353 my-branch -> my-branch (forced update)

你对这个奇怪的事情有同样的线索吗?我错过了/失败了吗

1 个答案:

答案 0 :(得分:1)

检查push.default setting。我会说经验法则是:如果你推送一些东西(特别是使用--force),总是指定远程和分支