Dalam git, saya menyembunyikan perubahan saya. Mungkinkah saya bisa membuat tambalan dengan apa yang saya sembunyikan? Dan kemudian menerapkan tambalan itu di beberapa repositori lain (rekan kerja saya)?
Saya tahu git format-patch -1
, tetapi saya pikir itu untuk apa yang telah saya lakukan. Tetapi saya mencari hal yang sama untuk perubahan yang saya simpan.
Dan bagaimana saya bisa menerapkan tambalan di repositori lain?
man patch
dan saya tidak melihat opsi untuk aplikasi tambalan interaktif. Namun, karena file tambalan sendiri adalah file teks biasa, biasanya yang akan dilakukan adalah mengedit tambalan dalam editor teks untuk menghapus bagian yang relevan untuk diterapkanpatch
. Sebagai alternatif, jika Anda menerapkan tambalan ke repositori Git lain, Anda bisa menerapkannya semua dan kemudian secara selektifgit checkout
file yang tidak ingin Anda ubah (git checkout
dengan nama file membuang perubahan yang tidak dipentaskan).git add --interactive ${YOUR_FILES}
dan itu akan memberi Anda kesempatan untuk melakukan sebagian komitmen.git stash show -p stash@{1} > patch.txt
Jawaban ini memberikan info tentang cara menyimpan tambalan dan menerapkannya di tempat Anda ingin menggunakannya.
Untuk menyimpan output dalam file:
Verifikasi tambalan terlihat bagus:
Verifikasi tidak ada kesalahan:
Terapkan tambalan
sumber
git apply --check --ignore-space-change --ignore-whitespace my-patch-name.patch
Terapkan tambalan:git apply --ignore-space-change --ignore-whitespace my-patch-name.patch
git apply
tidak mengambil diff.Menggunakan
untuk mendapatkan daftar barang-barang simpanan Anda. Git benar-benar membuat objek komit ketika Anda simpanan.
Mereka berkomitmen seperti yang lainnya. Anda dapat memeriksanya di cabang:
Anda kemudian dapat menerbitkan cabang ini dan kolega Anda dapat menggabungkan atau memilih-ceri komit itu.
sumber
Solusi di atas tidak akan berfungsi untuk data biner. Berikut ini menambahkan dukungan untuk itu:
Edit
Catatan: Saya hanya ingin menambahkan komentar ke balasan di atas tetapi reputasi saya tidak cukup.
sumber
Saya percaya ini mungkin salah satu udpates dari Git baru-baru ini. Anda tidak perlu menambal perubahan yang Anda simpan lagi. Anda bisa menerapkan perubahan simpanan Anda di satu cabang ke cabang lain.
katakanlah pada cabang A Anda menyembunyikan beberapa perubahan, disebut simpanan @ {1}.
Anda sekarang beralih ke cabang B. Anda bisa melakukan:
ini berlaku perubahan cabang A Anda ke cabang B.
sumber