Rumah >alat pembangunan >git >Bagaimana menolak komitmen yang ditentukan

Bagaimana menolak komitmen yang ditentukan

Johnathan Smith
Johnathan Smithasal
2025-03-06 13:39:17786semak imbas

Menolak komit tertentu ke cawangan jauh: Panduan Komprehensif

Artikel ini menangani beberapa soalan git umum yang berkaitan dengan menolak komitmen khusus ke cawangan terpencil. Kami akan meneroka cara untuk mencapai ini menggunakan pelbagai arahan dan strategi Git. Katakan anda mahu menolak Commit

ke cawangan

di repositori jauh anda. Anda tidak boleh secara langsung menentukan satu komite dengan mudah

. Sebaliknya, anda perlu membuat ref baru yang menunjuk kepada komit tertentu pada repositori tempatan anda dan kemudian menolak ref ke jauh. Ini dilakukan dengan menggunakan langkah-langkah berikut:

git push a1b2c3d4 remote-branch Cari hash komit: git push origin remote-branch Gunakan

untuk mengenal pasti hash SHA-1 yang anda ingin tolak. Ini biasanya merupakan rentetan heksadesimal 40-watak (mis.,
    ). Contohnya:
  1. git log a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6
  2. Tolak ref sementara:
  3. Tolak cawangan sementara ini ke repositori jauh. Nyatakan nama jauh (

    dalam kebanyakan kes) dan nama cawangan ( dalam contoh ini):

    <code class="bash">git branch temp-branch a1b2c3d4</code>
  4. komit yang ditentukan ditolak. Cawangan terpencil kini hanya mengandungi komit tunggal. Ingatlah untuk menggantikan , , dan origin dengan nilai sebenar anda. Cuba menggunakan ceri-pilih atau kaedah lain secara langsung di cawangan terpencil boleh membawa kepada ketidakkonsistenan dan menggabungkan konflik, terutamanya jika cawangan terpencil telah menyimpang dengan ketara dari cawangan tempatan anda. Pendekatan cawangan sementara menyediakan cara yang bersih dan terkawal untuk menambah komit tunggal tanpa menjejaskan seluruh sejarah cawangan. temp-branch

    Perintah apa yang harus saya gunakan untuk menolak komit tertentu tanpa menolak komitmen berikutnya? Menggunakan

    tidak akan berfungsi dengan pasti kerana Git menjangkakan rujukan cawangan, bukan satu hash komit, untuk sumbernya. Cawangan sementara bertindak sebagai rujukan yang diperlukan, secara bersih mengasingkan komit tunggal untuk operasi push. Kaedah yang diterangkan dalam bahagian pertama berfungsi tanpa mengira cawangan anda yang sedang diperiksa. Anda hanya menentukan nama cawangan sasaran semasa perintah

    . Sebagai contoh, untuk menolak komite git push origin <branch>:<commit> ke cawangan jauh bernama

    , anda akan menggunakan:

    Buat cawangan sementara: git push a1b2c3d4 (different-branch) ke repositori jauh, tetapi di bawah nama

    . Ini secara berkesan meletakkan komit spesifik ke cawangan yang berbeza di jauh. Ingat bahawa ini akan membuat atau mengemas kini
      di jauh. Jika
    1. sudah wujud dan telah menyimpang dari cawangan tempatan anda, ini boleh menyebabkan konflik kemudian. Pertimbangan yang teliti terhadap sejarah cawangan jauh yang sedia ada adalah penting. git branch temp-branch a1b2c3d4

Atas ialah kandungan terperinci Bagaimana menolak komitmen yang ditentukan. 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