Saya memiliki direktori kerja (# 1) yang memiliki direktori vendor (# 2) di dalamnya. Ada satu ketergantungan yang ingin saya tarik secara manual tanpa komposer (versi php dari npm / gem). Saya bekerja di # 1, belum menyimpan / melakukan perubahan, ketika saya memutuskan saya ingin memperbarui perpustakaan di # 2. Saya menavigasi ke vendor / myname, dan melakukan repositori git pull.
Sayangnya itu mulai menarik dan bergabung ke # 1, alih-alih membuat direktori baru di folder vendor.
Sekarang saya punya:
- Folder # 1 dengan perubahan saya
- Folder # 1 dengan file yang tidak saya inginkan dari repositori yang salah
- # 1 menggabungkan konflik seperti composer.json, Readme.md ... (file umum)
Saya ingin "membatalkan" git pull terakhir ini tanpa kehilangan perubahan apa pun yang saya lakukan ke folder # 1. Bagaimana saya bisa melakukan ini?
Jawaban:
git merge --abort
mungkin yang Anda cari.sumber
git status
untuk konfirmasi.Git Modern:
Lebih tua:
Sekolah tua (peringatan: akan membuang semua perubahan lokal Anda):
Tapi sebenarnya, perlu diperhatikan bahwa
git merge --abort
hanya setara dengangit reset --merge
yangMERGE_HEAD
ada. Ini bisa dibaca di git help for merge command.Setelah penggabungan yang gagal, jika tidak ada
MERGE_HEAD
, penggabungan yang gagal dapat dibatalkan dengangit reset --merge
tetapi tidak harus dengangit merge --abort
, jadi mereka tidak hanya sintaks lama dan baru untuk hal yang sama . Secara pribadi saya merasagit reset --merge
jauh lebih berguna dalam pekerjaan sehari-hari.sumber
Dengan Git 2.10 (Q3 2016), Anda akan tahu apa yang harus dilakukan, karena
git status
akan mengusulkangit merge --abort
opsi.Lihat commit b0a61ab (21 Jul 2016) oleh Matthieu Moy (
moy
) .(Digabung oleh Junio C Hamano -
gitster
- di commit 5a2f4d3 , 03 Agustus 2016)sumber