Rumah  >  Artikel  >  hujung hadapan web  >  Tukar Cawangan dalam Git Tanpa Kehilangan Kerja Anda

Tukar Cawangan dalam Git Tanpa Kehilangan Kerja Anda

WBOY
WBOYasal
2024-09-03 13:14:36752semak imbas

Switch Branches in Git Without Losing Your Work

Sebagai pembangun, kami sering mendapati diri kami berada dalam situasi di mana kami sedang mendalami pengekodan ciri apabila tiba-tiba isu mendesak memerlukan perhatian segera kami. Untuk mengatasinya, kita perlu menukar cawangan dalam Git. Walau bagaimanapun, berbuat demikian boleh berisiko jika kita masih belum melakukan perubahan semasa kita. Kita boleh kehilangan kerja atau menghadapi konflik gabungan.

Dalam siaran ini, saya akan membimbing anda melalui dua strategi berkesan untuk menukar cawangan dalam Git tanpa kehilangan perubahan anda.

Memahami Senario

Bayangkan anda sedang mengusahakan ciri baharu dalam cawangan semasa anda. Anda telah membuat beberapa perubahan, tetapi anda masih belum melaksanakannya. Tiba-tiba, anda menerima permintaan untuk membetulkan pepijat di cawangan lain. Dilema: Bagaimanakah anda bertukar ke cawangan lain untuk menangani isu tersebut tanpa kehilangan perubahan yang telah anda buat?

Git menyediakan beberapa alatan berkuasa untuk mengendalikan situasi ini dengan lancar: git stash dan mencipta cawangan sementara.

Penyelesaian 1: Menggunakan git stash

Apakah git stash?

git stash ialah arahan yang membolehkan anda menyimpan sementara (atau "menyimpan") perubahan anda tanpa melakukan perubahan itu. Ini berguna apabila anda perlu menukar cawangan tetapi ingin kembali ke kerja semasa anda kemudian tanpa kehilangan apa-apa.

Cara Menggunakan git stash

Berikut ialah cara anda boleh menyimpan perubahan anda:

  1. Simpan Perubahan Anda:
    Jalankan arahan berikut untuk menyimpan perubahan anda:

    git stash
    

    Arahan ini menyimpan perubahan tanpa komitmen anda dan menetapkan semula direktori kerja anda agar sepadan dengan komit terakhir.

  2. Tukar ke Cawangan Lain:

Sekarang direktori kerja anda bersih, anda boleh beralih ke cawangan lain dengan selamat:

    git checkout eb499bedd9f9993b7d4c66fdbb1b020f

Selesaikan isu mendesak di cawangan lain mengikut keperluan.

  1. Pulihkan Perubahan Tersembunyi Anda:

Setelah anda menangani isu tersebut, tukar kembali ke cawangan asal anda:

    git checkout d2445c03c0adbc3afcc07e74d9512079

Kemudian, pulihkan perubahan tersimpan anda dengan:

    git stash pop

Arahan ini menggunakan perubahan yang disimpan kembali ke direktori kerja anda dan mengalih keluar simpanan daripada senarai simpanan anda.

Contoh Aliran Kerja

Katakan anda sedang mengusahakan ciri dalam cawangan ciri dan anda menerima permintaan untuk membetulkan pepijat dalam induk:

  1. Simpan perubahan anda menggunakan git stash:

    git simpanan

  2. Tukar ke cawangan induk:

    git checkout master

  3. Betulkan pepijat dalam induk dan lakukan perubahan anda.

  4. Tukar kembali ke cawangan ciri:

    cawangan ciri daftar keluar git

  5. Pulihkan perubahan tersimpan anda:

    git simpanan pop

Kini, anda kembali ke tempat anda berhenti, dengan semua perubahan anda tidak berubah.

Penyelesaian 2: Melakukan Perubahan Anda kepada Cawangan Sementara

Pendekatan lain adalah dengan menyerahkan perubahan anda kepada cawangan sementara. Ini berguna jika anda lebih suka melakukan kerja anda sebelum menukar cawangan.

Mewujudkan Cawangan Sementara

  1. Buat Cawangan Sementara:

Mula-mula, buat dan tukar kepada cawangan sementara baharu:

    git checkout -b temp-branch

Cawangan ini akan menahan kerja semasa anda semasa anda menangani isu mendesak.

  1. Lakukan Perubahan Anda:

Komitasikan kerja anda di cawangan sementara:

    git add . git commit -m "WIP: Save work before switching branches"
  1. Tukar ke Cawangan Lain:

Sekarang, tukar ke cawangan di mana anda perlu membuat perubahan segera:

    git checkout eb499bedd9f9993b7d4c66fdbb1b020f

Meneruskan Kerja Anda

Setelah anda menyelesaikan isu:

  1. Tukar Belakang:

Kembali ke cawangan asal anda:

    git checkout d2445c03c0adbc3afcc07e74d9512079
  1. Gabungkan Cawangan Sementara (Pilihan):

Jika anda ingin membawa kerja anda dari cawangan sementara kembali ke cawangan asal anda, anda boleh menggabungkannya:

    git merge temp-branch
  1. Padamkan Cawangan Sementara (Pilihan):

Setelah selesai, anda boleh memadamkan cawangan sementara:

    git branch -d temp-branch<br>




Contoh Aliran Kerja

Mari kita lihat contoh pantas:

  1. Buat dan tukar kepada cawangan sementara:

    git checkout -b temp-fix

  2. Serahkan perubahan semasa anda:

    git add . git commit -m "WIP: Simpan sementara sebelum menukar cawangan"

  3. Tukar ke cawangan yang diperlukan untuk menyelesaikan isu:

    Salin kod

    git checkout master

  4. Selepas membetulkan isu itu, tukar kembali ke cawangan asal anda:

    Salin kod

    cawangan ciri daftar keluar git

  5. Secara pilihan, gabungkan cawangan sementara jika perlu.

Kesimpulan

Bertukar cawangan dalam Git boleh menjadi lancar dan bebas tekanan, walaupun dengan perubahan tanpa komitmen. Dengan memanfaatkan git stash atau mencipta cawangan sementara, anda boleh mengurus aliran kerja anda dengan lancar dan memastikan kemajuan anda tidak berubah. Teknik ini membantu anda menangani isu mendesak dengan pantas tanpa kehilangan sebarang kerja berterusan anda.

Cuba kaedah ini dalam projek anda yang seterusnya dan lihat cara kaedah ini boleh meningkatkan proses pembangunan anda!

Saya harap panduan menggunakan git stash ini berguna. Jika anda mempunyai sebarang soalan atau memerlukan butiran lanjut, jangan teragak-agak untuk meninggalkan komen di bawah.

Hubungi saya:

GitHub: - Terokai projek dan repositori sumber terbuka saya.
LinkedIn: - Berhubung dengan saya secara profesional dan kekal kemas kini tentang kerjaya saya.
Jangan ragu untuk menghubungi atau mengikuti saya di platform ini untuk mendapatkan lebih banyak cerapan, kemas kini dan peluang. Terima kasih kerana membaca!

Atas ialah kandungan terperinci Tukar Cawangan dalam Git Tanpa Kehilangan Kerja Anda. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn