Saya melakukan git stash pop
dan berakhir dengan menggabungkan konflik. Saya menghapus file-file dari sistem file dan melakukan git checkout
seperti yang ditunjukkan di bawah ini, tetapi ia berpikir file-file tersebut masih belum dihapus. Saya kemudian mencoba mengganti file dan melakukan git checkout
lagi dan hasil yang sama. Saya acara mencoba memaksanya dengan -f
bendera. Bantuan apa pun akan dihargai!
chirag-patels-macbook-pro:haloror patelc75$ git status
app/views/layouts/_choose_patient.html.erb: needs merge
app/views/layouts/_links.html.erb: needs merge
# On branch prod-temp
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: db/schema.rb
#
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# unmerged: app/views/layouts/_choose_patient.html.erb
# unmerged: app/views/layouts/_links.html.erb
chirag-patels-macbook-pro:haloror patelc75$ git checkout app/views/layouts/_choose_patient.html.erb
error: path 'app/views/layouts/_choose_patient.html.erb' is unmerged
chirag-patels-macbook-pro:haloror patelc75$ git checkout -f app/views/layouts/_choose_patient.html.erb
warning: path 'app/views/layouts/_choose_patient.html.erb' is unmerged
git
git-stash
git-checkout
Chirag Patel
sumber
sumber
git stash apply/pop
harus lebih mudah dengan Git 2,5 (Q2 2015), karena pohon bekerja sekarang harus bersih: lihat jawaban saya di bawahJawaban:
Lihat man git merge ( CARA MENYELESAIKAN KONFLIK ):
Dan di bawah TRUE MERGE (untuk melihat apa yang 2. dan 3. merujuk):
Jadi: gunakan
git reset --hard
jika Anda ingin menghapus perubahan simpanan dari pohon kerja Anda, ataugit reset
jika Anda hanya ingin membersihkan indeks dan membiarkan konflik di pohon kerja Anda untuk bergabung dengan tangan.Di bawah man git simpanan ( PILIHAN, pop ) Anda dapat membaca sebagai tambahan:
sumber
Saya memiliki hal serupa yang terjadi pada saya. Saya tidak ingin memformat file dulu jadi saya menambahkannya
git add
dan kemudian melakukannyagit reset
. Ini pada dasarnya hanya ditambahkan dan kemudian unstaged perubahan saya tetapi membersihkan jalur yang tidak bermigrasi.sumber
reset --hard
karena tidak menimpa file Anda (kecuali yang dengan masalah penggabungan). Terima kasih!add
konten stage dari tree yang berfungsi ke index? Saya rasa saya tidak mengerti mengapa jawaban Anda bekerja dari deskripsi.git add
tidak tahap mereka tetapigit reset
, yang saya lakukan segera setelah, panggung mereka. Pada dasarnya itu membersihkan jalan yang tidak bermandikan dan mengembalikan saya ke pohon kerja normal saya dengan memalsukan git.git add
jika maugit reset
. Secaragit reset
efektif "membatalkan" itugit add
.git reset
(--mixed
<- default) secara efektif tidak menyentuh direktori kerja jadi apa yang ada di direktori kerja Anda, menggabungkan konflik dan semuanya, ditinggalkan sendirian. Indeks (dan secara teknis kepala cabang) diatur ulang meskipun (tanpa referensi mereka dapat diatur ulang keHEAD
, yang mungkin berarti tidak ada perubahan untuk kepala cabang, dan secara efektif membatalkan apa pun yanggit add
dilakukan pada indeks, serta membersihkan keadaan jalur yang tidak diolah) .git reset
dangit stash drop
bekerja dengan baik. Itu melakukan apa yanggit stash pop
akan dilakukan tanpa konflik. Tampaknyagit add
memang tidak diperlukan; Meskipun mungkin berguna, Anda memiliki banyak file dengan konflik. Ketika masing-masing diselesaikan , mereka dapat ditambahkan dangit status
melacak mereka.Jika, seperti saya, yang biasanya Anda inginkan adalah menimpa isi direktori kerja dengan file yang disimpan, dan Anda masih mendapatkan konflik, maka yang Anda inginkan adalah menyelesaikan konflik menggunakan
git checkout --theirs -- .
dari root.Setelah itu, Anda dapat
git reset
membawa semua perubahan dari indeks ke direktori yang berfungsi, karena tampaknya jika terjadi konflik, perubahan pada file yang tidak konflik tetap berada dalam indeks.Anda mungkin juga ingin menjalankan
git stash drop [<stash name>]
setelahnya, untuk menyingkirkan simpanan, karenagit stash pop
tidak menghapusnya jika terjadi konflik.sumber
Catat itu
Git 2.5 (Q2 2015)Git masa depan mungkin mencoba membuat skenario itu mustahil.Lihat commit ed178ef oleh Jeff King (
peff
), 22 Apr 2015.(Digabung oleh Junio C Hamano -
gitster
- dalam commit 05c3967 , 19 Mei 2015)Catatan: Ini telah dikembalikan. Lihat di bawah .
Masalah
Dengan kata lain:
Larutan
Lihat komit 1937610 (15 Jun 2015), dan komit ed178ef (22 Apr 2015) oleh Jeff King (
peff
) .(Digabung oleh Junio C Hamano -
gitster
- di commit bfb539b , 24 Jun 2015)sumber