Git: Cherry-Pick untuk copy pekerjaan tanpa komit

190

Saya memiliki beberapa cabang tempat saya menyimpan komit tertentu yang ingin saya terapkan pada copy pekerjaan saya sesekali. Awalnya saya mencoba memetik ceri tetapi saya tidak ingin memiliki komit di cabang target nanti.

Jadi saya melakukan cherry-pick+reset HEAD~1 --soft

Apakah ada sesuatu yang lebih sederhana seperti memetik ceri hanya dari copy yang berfungsi?

schoetbi
sumber
4
Anda memiliki bendera '-n' yang berarti "tidak ada komit". Lihat di sini: git-scm.com/docs/git-cherry-pick
Igal S.
4
Untuk serangkaian komitmengit cherry-pick HEAD..<AwesomeBranch> -n
schoetbi

Jawaban:

336

Gunakan bendera '-n' dengan memetik ceri yang "tidak ada komit"

Lihat di sini: http://git-scm.com/docs/git-cherry-pick

git cherry-pick -n <HASH>
Igal S.
sumber
34
-nmembawa komitmen ke area panggung. Untuk menghapus stage itu git reset HEADakan diperlukan.
Wisnu NK
5

Jika Anda menggunakan Terminal

git cherry-pick -n <HASH>

Jika Anda menggunakan Intellij Idea

Settings -> Version Control -> git
untick commit automatically on cherry-pick 
Ravinda lakshan
sumber
2

Saya mendapatkan kesalahan itu error: server/metadata/metadata-preui-prod.xml: No such file or directory

Jadi sekarang saya melakukan ini

git checkout SHA -- server/metadata && git reset -- server/met adata

Tua

git show SHA -- file1.txt file2.txt | git apply -

atau semua file dari SHA

git show SHA | git apply -

Bagaimana cara git-cherry-pick hanya perubahan pada file tertentu?

rofrol
sumber
1

Untuk pengguna IntelliJ

Pengaturan> Kontrol Versi> Git: Hapus centang Komit secara otomatis saat memilih ceri

masukkan deskripsi gambar di sini

Trayan Momkov
sumber