1
有一次,我意外地用錯誤的作者電子郵件推送了一個提交到遠程倉庫。我用Git歷史改寫搞砸了分支
git filter-branch -f --env-filter "GIT_AUTHOR_NAME='Niklas Rosenstein'; GIT_AUTHOR_EMAIL='<<email>>'; GIT_COMMITTER_NAME='Niklas Rosenstein'; GIT_COMMITTER_EMAIL='<<email>>';" HEAD
重寫歷史。然後我用
$ git push origin development
Enter passphrase for key '----':
To [email protected]_cip:rosenstein/beak.git
! [rejected] development -> development (non-fast-forward)
error: failed to push some refs to '[email protected]_cip:rosenstein/beak.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
$ git pull origin development
Enter passphrase for key '----':
From gitlab_cip:rosenstein/beak
* branch development -> FETCH_HEAD
Merge made by the 'recursive' strategy.
$ git push origin development
Enter passphrase for key '----':
Counting objects: 430, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (336/336), done.
Writing objects: 100% (402/402), 43.93 KiB | 0 bytes/s, done.
Total 402 (delta 262), reused 85 (delta 65)
To [email protected]_cip:rosenstein/beak.git
dd06969..2b2ddb4 development -> development
這可能是一個巨大的錯誤。
我得到了所有提交了一倍!錯誤的提交人的作者是固定的(完全重複,然後更改),但原始提交也存在!
我後來讀了我(可能)應該使用
git push origin --force development fix
我可以以某種方式解決這一問題?
不是'HEAD〜1'而不是'HEAD^1'? –
非常感謝,它工作正常(用'HEAD〜1')! –
@NiklasR好的,我剛剛解釋了一下爲什麼我最初用'^ 1'去了。 – VonC