git-merge - Dalam talian dalam Awan

Ini ialah arahan git-merge yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.

JADUAL:

NAMA


git-merge - Sertai dua atau lebih sejarah pembangunan bersama-sama

SINOPSIS


pergi bergabung [-n] [--stat] [--no-commit] [--skuasy] [--[no-]edit]
[-s ] [-X ] [-S[ ]]
[--[no-]rerere-autokemas kini] [-m ] [ ...]
pergi bergabung KEPALA ...
pergi bergabung --menggugurkan kandungan

DESCRIPTION


Menggabungkan perubahan daripada komit yang dinamakan (sejak masa sejarah mereka menyimpang daripada
cawangan semasa) ke dalam cawangan semasa. Perintah ini digunakan oleh pergi tarik kepada
menggabungkan perubahan daripada repositori lain dan boleh digunakan dengan tangan untuk menggabungkan perubahan daripada
satu cabang ke cabang yang lain.

Andaikan sejarah berikut wujud dan cawangan semasa ialah "tuan":

A---B---C topik
/
D---E---F---G tuan

Kemudian "git merge topic" akan memainkan semula perubahan yang dibuat pada cabang topik sejak ia menyimpang
daripada induk (iaitu, E) sehingga komit semasanya (C) di atas induk, dan rekodkan hasilnya
dalam komit baharu bersama-sama dengan nama dua komit induk dan mesej log daripada
pengguna menerangkan perubahan.

A---B---C topik
/
D---E---F---G---H tuan

Sintaks kedua ( KEPALA ...) disokong atas sebab sejarah. Jangan guna
ia daripada baris arahan atau dalam skrip baharu. Ia adalah sama seperti git merge -m
....

Sintaks ketiga ("git merge --abort") hanya boleh dijalankan selepas gabungan telah menghasilkan
konflik. pergi bergabung --menggugurkan kandungan akan membatalkan proses penggabungan dan cuba membina semula
keadaan pra-gabungan. Walau bagaimanapun, jika terdapat perubahan tanpa komitmen apabila penggabungan bermula (dan
terutamanya jika perubahan tersebut diubah suai lagi selepas penggabungan dimulakan), pergi bergabung
--menggugurkan kandungan akan dalam beberapa kes tidak dapat membina semula perubahan asal (pra-gabung).
Oleh itu:

Amaran: Berlari pergi bergabung dengan perubahan tanpa komitmen yang tidak remeh adalah tidak digalakkan: manakala
mungkin, ia boleh menyebabkan anda berada dalam keadaan yang sukar untuk diundur dalam kes a
konflik.

PILIHAN


--komit, --tidak-komit
Lakukan penggabungan dan lakukan hasilnya. Pilihan ini boleh digunakan untuk mengatasi
--tidak-komit.

Dengan --no-commit lakukan cantuman tetapi pura-pura cantuman itu gagal dan jangan autocommit,
untuk memberi peluang kepada pengguna untuk memeriksa dan mengubah suai hasil gabungan sebelum ini
melakukan.

--edit, -e, --no-edit
Panggil editor sebelum melakukan gabungan mekanikal yang berjaya untuk mengedit selanjutnya
mesej gabungan yang dijana secara automatik, supaya pengguna boleh menerangkan dan mewajarkan gabungan itu. The
--no-edit option boleh digunakan untuk menerima mesej yang dijana secara automatik (ini biasanya
berkecil hati). Pilihan --edit (atau -e) masih berguna jika anda memberikan draf
mesej dengan pilihan -m dari baris arahan dan ingin mengeditnya dalam editor.

Skrip lama mungkin bergantung pada gelagat sejarah yang tidak membenarkan pengguna mengedit
mesej log gabungan. Mereka akan melihat editor dibuka apabila mereka menjalankan git merge. Untuk membuat
lebih mudah untuk melaraskan skrip tersebut kepada tingkah laku yang dikemas kini, pembolehubah persekitaran
GIT_MERGE_AUTOEDIT boleh ditetapkan kepada tidak pada permulaannya.

--ff
Apabila gabungan diselesaikan sebagai ke hadapan pantas, hanya kemas kini penuding cawangan, tanpa
mewujudkan komitmen gabungan. Ini ialah tingkah laku lalai.

--tidak-ff
Buat komitmen gabungan walaupun apabila gabungan itu diselesaikan sebagai ke hadapan pantas. Ini adalah
tingkah laku lalai apabila menggabungkan teg beranotasi (dan mungkin ditandatangani).

--ff-sahaja
Enggan bergabung dan keluar dengan status bukan sifar melainkan HEAD semasa sudah ada
terkini atau gabungan boleh diselesaikan sebagai ke hadapan pantas.

--log[= ], --tiada-log
Selain nama cawangan, isikan mesej log dengan penerangan satu baris daripada
kebanyakannya komitmen sebenar yang sedang digabungkan. Lihat juga git-fmt-merge-msg(1).

Dengan --no-log jangan senaraikan penerangan satu baris daripada komit sebenar yang digabungkan.

--stat, -n, --no-stat
Tunjukkan diffstat pada penghujung cantuman. Diffstat juga dikawal oleh
pilihan konfigurasi merge.stat.

Dengan -n atau --no-stat jangan tunjukkan diffstat pada penghujung cantuman.

--labu, --tiada-labu
Hasilkan pokok kerja dan keadaan indeks seolah-olah gabungan sebenar berlaku (kecuali untuk
menggabungkan maklumat), tetapi jangan benar-benar membuat komitmen, gerakkan HEAD, atau rekod
$GIT_DIR/MERGE_HEAD (untuk menyebabkan arahan git commit seterusnya mencipta merge commit).
Ini membolehkan anda membuat komit tunggal di atas cawangan semasa yang kesannya
sama seperti menggabungkan cawangan lain (atau lebih dalam kes sotong).

Dengan --no-squash lakukan cantuman dan lakukan hasilnya. Pilihan ini boleh digunakan untuk
mengatasi --skuasy.

-s , --strategi=
Gunakan strategi gabungan yang diberikan; boleh dibekalkan lebih daripada sekali untuk menentukannya dalam
perintah mereka harus dibicarakan. Jika tiada pilihan -s, senarai strategi terbina dalam adalah
digunakan sebaliknya (pergi gabungan-rekursif apabila menggabungkan satu kepala, pergi merge-octopus
sebaliknya).

-X , --strategy-option=
Lulus pilihan khusus strategi gabungan melalui strategi gabungan.

--verify-tandatangan, --no-verify-tandatangan
Sahkan bahawa komitmen yang digabungkan mempunyai tandatangan GPG yang baik dan dipercayai dan batalkan
gabungan itu sekiranya tidak.

--summary, --no-summary
Sinonim kepada --stat dan --no-stat; ini ditamatkan dan akan dialih keluar dalam
masa depan.

-q, --senyap
Beroperasi dengan senyap. Menyiratkan --tiada-kemajuan.

-v, --verbose
Berkata-kata.

--kemajuan, --tiada-kemajuan
Hidupkan/matikan kemajuan secara eksplisit. Jika kedua-duanya tidak dinyatakan, kemajuan ditunjukkan jika
ralat standard disambungkan ke terminal. Ambil perhatian bahawa tidak semua strategi gabungan boleh
menyokong pelaporan kemajuan.

-S[ ], --gpg-sign[= ]
GPG-tandatangani komit gabungan yang terhasil. Argumen keyid adalah pilihan dan lalai kepada
identiti pelaku; jika dinyatakan, ia mesti melekat pada pilihan tanpa ruang.

-m
Tetapkan mesej komit untuk digunakan untuk komit gabungan (sekiranya satu dibuat).

Jika --log ditentukan, shortlog bagi komit yang digabungkan akan dilampirkan pada
mesej yang ditentukan.

. pergi fmt-merge-msg arahan boleh digunakan untuk memberikan lalai yang baik untuk automatik pergi
bergabung seruan. Mesej automatik boleh termasuk penerangan cawangan.

--[no-]rerere-autokemas kini
Benarkan mekanisme semula untuk mengemas kini indeks dengan hasil autokonflik
resolusi jika boleh.

--menggugurkan kandungan
Hentikan proses penyelesaian konflik semasa dan cuba bina semula pra-gabungan
negeri.

Jika terdapat perubahan worktree tanpa komitmen semasa penggabungan bermula, pergi bergabung
--menggugurkan kandungan akan dalam beberapa kes tidak dapat membina semula perubahan ini. Oleh itu
disyorkan untuk sentiasa melakukan atau menyimpan perubahan anda sebelum dijalankan pergi bergabung.

pergi bergabung --menggugurkan kandungan adalah bersamaan dengan pergi menetapkan semula --bercantum apabila MERGE_HEAD hadir.

...
Berkomitmen, biasanya ketua cawangan lain, untuk bergabung ke dalam cawangan kami. Menentukan lebih daripada
satu komitmen akan membuat gabungan dengan lebih daripada dua ibu bapa (dipanggil dengan mesra
Octopus merge).

Jika tiada komit diberikan daripada baris arahan, gabungkan cawangan penjejakan jauh itu
cawangan semasa dikonfigurasikan untuk digunakan sebagai huluannya. Lihat juga konfigurasi
bahagian halaman manual ini.

Apabila FETCH_HEAD (dan tiada komit lain) ditentukan, cawangan direkodkan dalam
Fail .git/FETCH_HEAD oleh seruan git fetch sebelumnya untuk penggabungan digabungkan ke
cawangan semasa.

PRA-PENGABUNGAN SEMAK


Sebelum memohon perubahan luar, anda harus mendapatkan kerja anda sendiri dalam keadaan baik dan komited
tempatan, jadi ia tidak akan terguris jika terdapat konflik. Lihat juga git-stash(1). pergi
tarik and pergi bergabung akan berhenti tanpa melakukan apa-apa apabila perubahan tempatan tidak komited bertindih
dengan fail yang pergi tarik/pergi bergabung mungkin perlu dikemas kini.

Untuk mengelakkan merekodkan perubahan yang tidak berkaitan dalam komit gabungan, pergi tarik and pergi bergabung juga akan
batalkan jika terdapat sebarang perubahan yang didaftarkan dalam indeks berbanding dengan komit HEAD. (Satu
pengecualian ialah apabila entri indeks yang diubah berada dalam keadaan yang akan terhasil daripada
bergabung sudah.)

Jika semua komit yang dinamakan sudah pun nenek moyang HEAD, pergi bergabung akan keluar awal dengan
mesej "Sudah dikemas kini."

PANTAS MERGE


Selalunya ketua cawangan semasa adalah nenek moyang komit yang dinamakan. Ini adalah yang paling biasa
kes terutamanya apabila dipanggil daripada pergi tarik: anda menjejaki repositori huluan, anda
tidak melakukan sebarang perubahan setempat dan kini anda ingin mengemas kini kepada semakan huluan yang lebih baharu.
Dalam kes ini, komitmen baharu tidak diperlukan untuk menyimpan sejarah gabungan; sebaliknya, KEPALA
(bersama-sama dengan indeks) dikemas kini untuk menunjuk pada komit yang dinamakan, tanpa membuat tambahan
merge commit.

Tingkah laku ini boleh dihalang dengan pilihan --no-ff.

TRUE MERGE


Kecuali dalam gabungan ke hadapan pantas (lihat di atas), cawangan yang hendak digabungkan mesti diikat
bersama dengan komitmen gabungan yang menjadikan kedua-duanya sebagai ibu bapanya.

Versi gabungan yang menyelaraskan perubahan daripada semua cawangan yang akan digabungkan adalah dilakukan, dan
HEAD, indeks dan pokok kerja anda dikemas kini kepadanya. Ia adalah mungkin untuk mempunyai pengubahsuaian
dalam pokok kerja selagi mereka tidak bertindih; kemas kini akan mengekalkannya.

Apabila tidak jelas bagaimana untuk mendamaikan perubahan, perkara berikut berlaku:

1. Penunjuk HEAD kekal sama.

2. Ruj MERGE_HEAD ditetapkan untuk menunjuk ke kepala cawangan yang lain.

3. Laluan yang digabungkan dengan bersih dikemas kini dalam kedua-dua fail indeks dan dalam pepohon kerja anda.

4. Untuk laluan bercanggah, fail indeks merekodkan sehingga tiga versi: peringkat 1 menyimpan
versi daripada nenek moyang yang sama, peringkat 2 daripada HEAD dan peringkat 3 daripada MERGE_HEAD (anda
boleh memeriksa peringkat dengan git ls-files -u). Fail pokok kerja mengandungi
hasil daripada program "gabungan"; iaitu hasil gabungan 3 hala dengan penanda konflik yang biasa
<<< === >>>.

5. Tiada perubahan lain dibuat. Khususnya, pengubahsuaian tempatan yang anda ada sebelum anda
gabungan yang mula akan kekal sama dan entri indeks untuk mereka kekal seperti sedia ada,
iaitu padanan KEPALA.

Jika anda mencuba gabungan yang mengakibatkan konflik yang rumit dan ingin memulakan semula, anda boleh
pulih dengan git merge --abort.

PENGGABUNGAN TAG


Apabila menggabungkan teg beranotasi (dan mungkin ditandatangani), Git sentiasa mencipta komit gabungan
walaupun gabungan ke hadapan pantas boleh dilakukan dan templat mesej komit disediakan dengan
mesej tag. Selain itu, jika teg ditandatangani, semakan tandatangan dilaporkan sebagai a
komen dalam templat mesej. Lihat juga git-tag(1).

Apabila anda hanya mahu menyepadukan dengan kerja yang membawa kepada komit yang berlaku
ditandai, contohnya menyegerakkan dengan titik keluaran huluan, anda mungkin tidak mahu membuat
komit gabungan yang tidak perlu.

Dalam kes sedemikian, anda boleh "membuka" teg sendiri sebelum menyuapnya ke git merge, atau pass
--ff-hanya apabila anda tidak mempunyai kerja sendiri. cth

git fetch asal
git merge v1.2.3^0
git merge --ff-only v1.2.3

BAGAIMANA KONFLIK ADALAH DIBENTANGKAN


Semasa cantuman, fail pokok berfungsi dikemas kini untuk mencerminkan hasil cantuman.
Antara perubahan yang dibuat pada versi nenek moyang biasa, yang tidak bertindih (iaitu,
anda menukar kawasan fail manakala bahagian lain membiarkan kawasan itu utuh, atau sebaliknya)
dimasukkan dalam keputusan akhir kata demi kata. Apabila kedua-dua pihak membuat perubahan kepada yang sama
kawasan, bagaimanapun, Git tidak boleh memilih satu pihak secara rawak berbanding yang lain, dan meminta anda menyelesaikannya
ia dengan meninggalkan apa yang kedua-dua pihak lakukan ke kawasan itu.

Secara lalai, Git menggunakan gaya yang sama seperti yang digunakan oleh program "gabungan" daripada RCS
suite untuk membentangkan watak yang bercanggah, seperti ini:

Berikut ialah baris yang sama ada tidak berubah daripada yang biasa
nenek moyang, atau diselesaikan secara bersih kerana hanya satu pihak yang berubah.
<<<<<<<< milik anda:sample.txt
Penyelesaian konflik adalah sukar;
Mari pergi membeli belah.
=======
Git memudahkan penyelesaian konflik.
>>>>>>> mereka:sample.txt
Dan berikut adalah satu lagi baris yang diselesaikan dengan bersih atau tidak diubah suai.

Kawasan di mana sepasang perubahan bercanggah berlaku ditandakan dengan penanda <<<<<<<,
=======, dan >>>>>>>. Bahagian sebelum ======= lazimnya adalah sebelah anda, dan bahagian itu
selepas itu biasanya pihak mereka.

Format lalai tidak menunjukkan perkara asal yang dikatakan dalam kawasan bercanggah. awak
tidak dapat memberitahu berapa banyak baris yang dipadamkan dan digantikan dengan ucapan Barbie di sebelah anda. The
Satu-satunya perkara yang anda boleh katakan ialah pihak anda mahu mengatakan ia sukar dan anda lebih suka pergi
berbelanja, sedangkan sebelah lagi nak claim senang.

Gaya alternatif boleh digunakan dengan menetapkan konfigurasi "merge.conflictStyle".
berubah menjadi "diff3". Dalam gaya "diff3", konflik di atas mungkin kelihatan seperti ini:

Berikut ialah baris yang sama ada tidak berubah daripada yang biasa
nenek moyang, atau diselesaikan secara bersih kerana hanya satu pihak yang berubah.
<<<<<<<< milik anda:sample.txt
Penyelesaian konflik adalah sukar;
Mari pergi membeli belah.
|||||||
Penyelesaian konflik adalah sukar.
=======
Git memudahkan penyelesaian konflik.
>>>>>>> mereka:sample.txt
Dan berikut adalah satu lagi baris yang diselesaikan dengan bersih atau tidak diubah suai.

Sebagai tambahan kepada penanda <<<<<<<, =======, dan >>>>>>>, ia menggunakan satu lagi ||||||| penanda
yang diikuti dengan teks asal. Anda boleh tahu bahawa yang asal baru sahaja menyatakan fakta,
dan pihak anda hanya mengalah dengan kenyataan itu dan menyerah, manakala pihak lain cuba
mempunyai sikap yang lebih positif. Anda kadangkala boleh menghasilkan resolusi yang lebih baik dengan
melihat yang asal.

BAGAIMANA KEPADA RESOLVE KONFLIK


Setelah melihat konflik, anda boleh melakukan dua perkara:

· Buat keputusan untuk tidak bergabung. Satu-satunya pembersihan yang anda perlukan ialah menetapkan semula fail indeks ke
KEPALA komited untuk membalikkan 2. dan untuk membersihkan perubahan pokok kerja yang dibuat oleh 2. dan 3.; git
merge --abort boleh digunakan untuk ini.

· Menyelesaikan konflik. Git akan menandakan konflik dalam pokok kerja. Edit fail
menjadi bentuk dan pergi menambah mereka ke indeks. Gunakan pergi melakukan untuk memeterai perjanjian itu.

Anda boleh mengatasi konflik dengan sejumlah alat:

· Gunakan alat penggabungan. git mergetool untuk melancarkan mergetool grafik yang akan membantu anda
melalui gabungan.

· Lihat perbezaannya. git diff akan menunjukkan perbezaan tiga hala, menyerlahkan perubahan daripada
kedua-dua versi HEAD dan MERGE_HEAD.

· Lihat perbezaan dari setiap cawangan. git log --merge -p akan menunjukkan perbezaan terlebih dahulu
untuk versi HEAD dan kemudian versi MERGE_HEAD.

· Lihat yang asal. git show :1:filename menunjukkan nenek moyang yang sama, git show
:2:filename menunjukkan versi HEAD, dan git show :3:filename menunjukkan MERGE_HEAD
versi.

CONTOH


· Gabungkan pembetulan cawangan dan peningkatan di atas cawangan semasa, menjadikan sotong
menggabungkan:

$ git merge membetulkan peningkatan

· Gabungkan cawangan usang ke dalam cawangan semasa, menggunakan strategi gabungan kami:

$ git merge - milik kita sudah usang

· Gabungkan penyenggaraan cawangan ke dalam cawangan semasa, tetapi jangan buat komitmen baharu
secara automatik:

$ git merge --no-commit maint

Ini boleh digunakan apabila anda ingin menyertakan perubahan lanjut pada gabungan atau mahu
tulis mesej komit gabungan anda sendiri.

Anda harus mengelak daripada menyalahgunakan pilihan ini untuk menyelinap perubahan besar ke dalam gabungan
komited. Pembetulan kecil seperti nama keluaran/versi bumping boleh diterima.

MERGE STRATEGI


Mekanisme merge (arahan git merge dan git pull) membenarkan bahagian belakang bergabung strategi
untuk dipilih dengan pilihan -s. Sesetengah strategi juga boleh mengambil pilihan mereka sendiri, yang boleh
diluluskan dengan memberi -X hujah untuk git merge dan/atau git pull.

menyelesaikan
Ini hanya boleh menyelesaikan dua kepala (iaitu cawangan semasa dan cawangan lain yang anda tarik
daripada) menggunakan algoritma gabungan 3 hala. Ia cuba mengesan cantuman silang silang dengan teliti
kekaburan dan dianggap secara amnya selamat dan cepat.

rekursif
Ini hanya boleh menyelesaikan dua kepala menggunakan algoritma gabungan 3 hala. Apabila terdapat lebih daripada
satu nenek moyang biasa yang boleh digunakan untuk cantuman 3 hala, ia mewujudkan pokok gabungan
nenek moyang yang sama dan menggunakannya sebagai pokok rujukan untuk gabungan 3 hala. Ini mempunyai
telah dilaporkan mengakibatkan lebih sedikit konflik cantuman tanpa menyebabkan salah cantum oleh ujian
dilakukan pada penggabungan sebenar yang diambil daripada sejarah pembangunan kernel Linux 2.6.
Selain itu, ini boleh mengesan dan mengendalikan gabungan yang melibatkan nama semula. Ini adalah lalai
strategi gabungan apabila menarik atau menggabungkan satu cabang.

. rekursif strategi boleh mengambil pilihan berikut:

menanggung
Pilihan ini memaksa orang yang bercanggah untuk diselesaikan secara automatik dengan memilih kami
versi. Perubahan dari pokok lain yang tidak bercanggah dengan pihak kita ialah
dicerminkan kepada hasil gabungan. Untuk fail binari, keseluruhan kandungan diambil
dari pihak kami.

Ini tidak boleh dikelirukan dengan menanggung strategi gabungan, yang tidak kelihatan
pada apa yang pokok lain mengandungi sama sekali. Ia membuang semua yang dilakukan oleh pokok lain,
mengisytiharkan kami sejarah mengandungi semua yang berlaku di dalamnya.

mereka
Ini adalah bertentangan dengan menanggung.

kesabaran
Dengan pilihan ini, gabungan-rekursif meluangkan sedikit masa tambahan untuk mengelakkan kesilapan
yang kadangkala berlaku disebabkan oleh garis padanan yang tidak penting (cth, pendakap daripada berbeza
fungsi). Gunakan ini apabila cawangan yang hendak dicantumkan telah menyimpang secara liar. Lihat juga
git-diff(1) --sabar.

diff-algorithm=[kesabaran|minimal|histogram|myers]
Memberitahu gabungan-rekursif untuk menggunakan algoritma perbezaan yang berbeza, yang boleh membantu mengelakkan
salah cantum yang berlaku disebabkan oleh garisan padanan yang tidak penting (seperti pendakap daripada
fungsi yang berbeza). Lihat juga git-diff(1) --algoritma-perbezaan.

abaikan-ruang-ubah, abaikan-semua-ruang, abaikan-ruang-at-eol
Menganggap garisan dengan jenis perubahan ruang putih yang ditunjukkan sebagai tidak berubah untuk
demi gabungan tiga hala. Perubahan ruang putih bercampur dengan perubahan lain pada baris
tidak diabaikan. Lihat juga git-diff(1) -b, -w, dan --abaikan-ruang-at-eol.

· Jika perkhidmatan versi hanya memperkenalkan perubahan ruang putih pada baris, kami versi adalah
digunakan;

· Jika kami versi memperkenalkan perubahan ruang putih tetapi perkhidmatan versi termasuk a
perubahan yang ketara, perkhidmatan versi digunakan;

· Jika tidak, penggabungan diteruskan dengan cara biasa.

menormalkan semula
Ini menjalankan daftar keluar dan daftar masuk maya bagi ketiga-tiga peringkat fail apabila
menyelesaikan gabungan tiga hala. Pilihan ini dimaksudkan untuk digunakan apabila menggabungkan cawangan
dengan penapis bersih yang berbeza atau peraturan normalisasi hujung talian. Lihat "Penggabungan
cawangan dengan atribut daftar masuk/daftar keluar yang berbeza" masuk gitattribut(5) untuk
butiran.

tidak menormalkan semula
Melumpuhkan pilihan normalisasi semula. Ini mengatasi merge.renormalize
pembolehubah konfigurasi.

namakan semula-ambang=
Mengawal ambang persamaan yang digunakan untuk pengesanan nama semula. Lihat juga git-diff(1)
-M.

pokok kecil[= ]
Pilihan ini adalah bentuk yang lebih maju pokok kecil strategi, di mana strategi membuat
tekaan tentang bagaimana dua pokok mesti dianjak untuk dipadankan antara satu sama lain apabila bergabung.
Sebaliknya, laluan yang ditentukan diberi awalan (atau dilucutkan dari awal) untuk dibuat
bentuk dua pokok untuk dipadankan.

sotong
Ini menyelesaikan kes dengan lebih daripada dua kepala, tetapi enggan melakukan gabungan kompleks itu
memerlukan resolusi manual. Ia terutamanya bertujuan untuk digunakan untuk menghimpunkan cawangan topik
kepala bersama-sama. Ini ialah strategi gabungan lalai apabila menarik atau menggabungkan lebih daripada
satu cabang.

menanggung
Ini menyelesaikan sebarang bilangan kepala, tetapi pokok gabungan yang terhasil sentiasa itu
ketua cawangan semasa, dengan berkesan mengabaikan semua perubahan daripada semua cawangan lain.
Ia bertujuan untuk digunakan untuk menggantikan sejarah pembangunan lama cawangan sampingan. Catatan
bahawa ini berbeza daripada pilihan -Xours kepada rekursif strategi gabungan.

pokok kecil
Ini ialah strategi rekursif yang diubah suai. Apabila mencantumkan pokok A dan B, jika B sepadan dengan
subpokok A, B mula-mula dilaraskan agar sepadan dengan struktur pokok A, bukannya
membaca pokok pada tahap yang sama. Pelarasan ini juga dilakukan kepada yang biasa
pokok nenek moyang.

Dengan strategi yang menggunakan gabungan 3 hala (termasuk lalai, rekursif), jika ada perubahan
dibuat pada kedua-dua cawangan, tetapi kemudian dibalikkan pada salah satu cawangan, perubahan itu akan berlaku
hadir dalam hasil gabungan; sesetengah orang mendapati tingkah laku ini mengelirukan. Ia berlaku kerana
hanya kepala dan pangkalan gabungan dipertimbangkan semasa melakukan gabungan, bukan
individu melakukan. Oleh itu, algoritma gabungan menganggap perubahan yang dibalikkan sebagai tidak
berubah sama sekali, dan menggantikan versi yang diubah.

CONFIGURATION


merge.conflictStyle
Tentukan gaya di mana hunks bercanggah ditulis pada fail pokok yang berfungsi
bercantum. Lalai ialah "gabung", yang menunjukkan <<<<<<< penanda konflik, perubahan yang dibuat oleh
satu sisi, penanda =======, perubahan yang dibuat oleh pihak lain, dan kemudian penanda >>>>>>>.
Gaya ganti, "diff3", menambah ||||||| penanda dan teks asal sebelum
======= penanda.

merge.defaultToUpstream
Jika gabungan dipanggil tanpa sebarang hujah komit, gabungkan cawangan huluan yang dikonfigurasikan
untuk cawangan semasa dengan menggunakan nilai pemerhatian terakhir mereka yang disimpan dalam mereka
cawangan pengesanan jauh. Nilai-nilai cawangan. .gabungkan nama itu
cawangan di jauh dinamakan mengikut cawangan. .remote dirujuk, dan
kemudian mereka dipetakan melalui alat kawalan jauh. .fetch ke penjejakan jauh yang sepadan
cawangan, dan hujung cawangan penjejakan ini digabungkan.

merge.ff
Secara lalai, Git tidak mencipta komit gabungan tambahan apabila menggabungkan komit iaitu a
keturunan komit semasa. Sebaliknya, hujung cawangan semasa ialah
maju pantas. Apabila ditetapkan kepada palsu, pembolehubah ini memberitahu Git untuk membuat gabungan tambahan
commit dalam kes sedemikian (bersamaan dengan memberikan pilihan --no-ff dari baris arahan).
Apabila ditetapkan kepada sahaja, hanya cantuman ke hadapan pantas tersebut dibenarkan (bersamaan dengan memberi
--ff-only pilihan daripada baris arahan).

merge.branchdesc
Selain nama cawangan, isikan mesej log dengan teks penerangan cawangan
dikaitkan dengan mereka. Lalai kepada palsu.

merge.log
Selain nama cawangan, isikan mesej log dengan paling banyak yang ditentukan
bilangan perihalan satu baris daripada komitmen sebenar yang sedang digabungkan.
Lalai kepada palsu, dan benar adalah sinonim untuk 20.

merge.renameLimit
Bilangan fail yang perlu dipertimbangkan semasa melakukan pengesanan nama semula semasa penggabungan; jika
tidak dinyatakan, lalai kepada nilai diff.renameLimit.

bergabung.menormalkan semula
Beritahu Git bahawa perwakilan kanonik fail dalam repositori telah berubah
masa (cth sebelumnya melakukan fail teks rekod dengan pengakhiran baris CRLF, tetapi yang baru-baru ini
gunakan penghujung baris LF). Dalam repositori sedemikian, Git boleh menukar data yang direkodkan
komited kepada bentuk kanonik sebelum melakukan gabungan untuk mengurangkan konflik yang tidak perlu.
Untuk maklumat lanjut, lihat bahagian "Menggabungkan cawangan dengan daftar masuk/daftar keluar yang berbeza
atribut" dalam gitattribut(5).

merge.stat
Sama ada hendak mencetak diffstat antara ORIG_HEAD dan hasil gabungan pada penghujung
bercantum. Benar secara lalai.

merge.tool
Mengawal alat cantum yang digunakan oleh git-mergetool(1). Senarai di bawah menunjukkan yang sah
nilai terbina dalam. Sebarang nilai lain dianggap sebagai alat cantum tersuai dan memerlukan a
mergetool yang sepadan. Pembolehubah .cmd ditakrifkan.

· araxis

· bc

· bc3

· perbandingan kod

· deltawalker

· diffmerge

· meresap

· timbul

· muncul

· gvimdiff

· gvimdiff2

· gvimdiff3

· kdiff3

· berbaur

· opendiff

· p4merge

· tkdiff

· muncul kura-kura

· vimdiff

· vimdiff2

· vimdiff3

· winmerge

· xxdiff

merge.verbosity
Mengawal jumlah output yang ditunjukkan oleh strategi gabungan rekursif. Keluaran tahap 0
tiada apa-apa kecuali mesej ralat akhir jika konflik dikesan. Keluaran tahap 1 sahaja
konflik, 2 konflik output dan perubahan fail. Tahap 5 dan ke atas mengeluarkan penyahpepijatan
maklumat. Lalai ialah tahap 2. Boleh ditindih oleh GIT_MERGE_VERBOSITY
pembolehubah persekitaran.

bercantum. .nama
Mentakrifkan nama yang boleh dibaca manusia untuk pemacu gabungan peringkat rendah tersuai. Lihat
gitattribut(5) untuk butiran.

bercantum. .pemandu
Mentakrifkan perintah yang melaksanakan pemacu gabungan peringkat rendah tersuai. Lihat
gitattribut(5) untuk butiran.

bercantum. .rekursif
Menamakan pemacu cantuman peringkat rendah untuk digunakan semasa melakukan cantuman dalaman antara
nenek moyang yang sama. Lihat gitattribut(5) untuk butiran.

cawangan. .mergeOptions
Menetapkan pilihan lalai untuk bergabung menjadi cawangan . Sintaks dan pilihan yang disokong
sama dengan yang pergi bergabung, tetapi nilai pilihan yang mengandungi aksara ruang putih
pada masa ini tidak disokong.

Gunakan git-merge dalam talian menggunakan perkhidmatan onworks.net



Program dalam talian Linux & Windows terkini