Rumah  >  Soal Jawab  >  teks badan

git cherry-pick 问题?

新建一个仓库,里面只放一个文本文件,分别做6次提交,,此时git log --oneline 的样子应该是这样的

文件的内容是这样的

我要丢弃 442452d 提交,但保留e09949e提交,我的做法是这样的
git reset --hard 260effc
然后 git cherry-pick e09949e

此时爆冲突了,如下图

我不理解的是为何会冲突,按道理应该直接就patch了,不应是上图的样子,e09949e这次提交应该是只包含‘4’ 不包含 ‘3’吧,如果要是还需要手动去掉‘3’的话,那cherry-pick 还有啥意义呢,我直接进文件把它删掉就好了啊,还是我用法有问题?求大神指点!!!

世界只因有你世界只因有你2727 hari yang lalu661

membalas semua(2)saya akan balas

  • PHP中文网

    PHP中文网2017-05-02 09:34:56

    Kenapa tidak git revert 442452d sahaja?

    Komit rekod pengubahsuaian relatif dan berkaitan dengan baris atas dan bawah kandungan yang diubah suai Jika baris sebelumnya hilang, konflik akan dilaporkan dan perlu diselesaikan secara manual. Jika kedua-dua komitmen anda tidak lagi dalam fungsi yang berkaitan, anda boleh berbalik terus.

    Selain itu, menggunakan kaedah tetapan semula ini --hard dan kemudian cherry-pick tidak begitu baik Rakan usaha sama lain mungkin telah menambahkan komitmen lain di tengah, menjadikan pengendalian konflik berikutnya lebih sukar.

    Senario penggunaan yang lebih baik untuk petik ceri ialah apabila anda mahukan ciri yang berasingan daripada cawangan lain pada satu cawangan.

    balas
    0
  • 漂亮男人

    漂亮男人2017-05-02 09:34:56

    Kerana e09949e hanya mengandungi 4, iaitu untuk perbezaan komit sebelumnya442452d.

    Tetapi kini anda telah mengalih keluar 442452d dan berharap untuk menunjuk nod induk e09949e daripada 442452d kepada 260effc memang akan berlaku konflik.

    Saya tidak pasti jika penjelasan saya jelas tanpa gambar bergerak Jika anda mempunyai sebarang soalan, saya cadangkan anda memainkan tutorial ini terlebih dahulu.

    balas
    0
  • Batalbalas