Inilah strategi saya untuk menyelesaikan masalah.
Pernyataan masalah
Kami perlu melakukan perubahan di lebih dari 10 file. Kami mencoba PULL (git pull origin master)
, tetapi Git berteriak:
kesalahan: Perubahan lokal Anda ke file berikut akan ditimpa oleh gabungan: Tolong, komit perubahan Anda atau simpan sebelum Anda dapat bergabung.
Kami mencoba mengeksekusi commit
dan kemudian pull
, tetapi mereka juga tidak berhasil.
Larutan
Kami sebenarnya berada di tahap kotor , karena file-file berada di "Staging Area" alias "Area Indeks" dan beberapa berada di "Head Area" alias "direktori Git lokal". Dan kami ingin menarik perubahan dari server.
Periksa tautan ini untuk informasi tentang berbagai tahapan Git dengan cara yang jelas: Tahapan GIT
Kami mengikuti langkah-langkah berikut
git stash
(ini membuat direktori kerja kami bersih. Perubahan Anda disimpan di stack oleh Git).
git pull origin master
(Tarik perubahan dari server)
git stash apply
(Diterapkan semua perubahan dari tumpukan)
git commit -m 'message'
(Mengkomit perubahan)
git push origin master
(Mendorong perubahan ke server)
git stash drop
(Jatuhkan tumpukan)
Mari kita pahami kapan dan mengapa Anda perlu menyembunyikan
Jika Anda dalam keadaan kotor , berarti Anda membuat perubahan pada file Anda dan kemudian Anda terpaksa, karena alasan apa pun, untuk menarik atau beralih ke cabang lain untuk beberapa pekerjaan yang sangat mendesak, jadi pada titik ini Anda tidak dapat menarik atau beralih sampai Anda melakukan perubahan Anda. The stash
perintah di sini sebagai tangan membantu.
Dari buku ProGIT , Edisi ke-2:
Seringkali, ketika Anda sedang mengerjakan bagian dari proyek Anda, banyak hal berada dalam keadaan berantakan dan Anda ingin berganti cabang sedikit untuk mengerjakan sesuatu yang lain. Masalahnya adalah, Anda tidak ingin melakukan komitmen pekerjaan setengah jadi hanya agar Anda bisa kembali ke titik ini nanti. Jawaban untuk masalah ini adalah perintah git stash. Stashing mengambil kondisi kotor dari direktori kerja Anda - yaitu, file yang Anda lacak yang dimodifikasi dan melakukan perubahan - dan menyimpannya di tumpukan perubahan yang belum selesai yang dapat Anda aplikasikan kembali kapan saja.