ベンダーディレクトリ(#2)がある作業ディレクトリ(#1)があります。 composer(npm/gemのphpバージョン)なしで手動でプルしたい依存関係が1つあります。私は#1で作業していました。 #2でライブラリを更新するには、vendor/mynameに移動し、git pull repositoryを実行しました。
残念ながら、ベンダーフォルダに新しいディレクトリを作成する代わりに、プルして#1にマージし始めました。
今私が持っています:
フォルダー#1に行った変更を失うことなく、この最後のgit pullを「取り消し」たいです。これどうやってするの?
git merge --abort
はあなたが探しているものかもしれません。
モダンGit:
git merge --abort
古い:
git reset --merge
Old-school(警告:ローカルの変更をすべて破棄します):
git reset --hard
ただし、実際には、git merge --abort
が存在する場合、git reset --merge
はMERGE_HEAD
とのみ同等であることに注意してください。これは、マージコマンドのgitヘルプで読むことができます。
git merge --abort is equivalent to git reset --merge when MERGE_HEAD is present.
マージに失敗した後、MERGE_HEAD
がない場合、失敗したマージはgit reset --merge
で元に戻すことができますが、必ずしもgit merge --abort
ではなく、同じものに対する古い構文と新しい構文のみ。個人的には、git reset --merge
が日常業務ではるかに役立つことがわかりました。
Git 2.10(2016年第3四半期)では、git status
がgit merge --abort
オプションを提案するため、何をすべきかがわかります。
commit b0a61ab (2016年7月21日)by Matthieu Moy(moy
) を参照してください。
( 浜野潤夫-gitster
- in commit 5a2f4d 、2016年8月3日)
status
:必要に応じて 'git merge --abort
'を提案します競合するリベース中は、すでに「
git rebase --abort
」を推奨しています。
同様に、 'git merge --abort
'の競合解決中に 'git merge
'を提案します。