国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Jadual Kandungan
git-rebase
git-merge
git-rebase 與 git-merge 的差異
Kebaikan dan keburukan menggunakan git-rebase untuk bergabung
Perlukah saya menggunakan git-rebase atau git-merge?
puak git-merge
git-rebase menghantar
Pendapat subjektif peribadi
Rumah alat pembangunan git Apakah yang dilakukan git-rebase dan git-merge? Apa bezanya?

Apakah yang dilakukan git-rebase dan git-merge? Apa bezanya?

Jul 15, 2022 am 10:36 AM
git github

Apakah yang dilakukan git-rebase dan git-merge? Apakah perbezaan antara git-rebase dan git-merge? Artikel berikut akan memperkenalkan kepada anda perbezaan antara git-rebase dan git-merge Saya harap ia akan membantu anda!

Apakah yang dilakukan git-rebase dan git-merge? Apa bezanya?

Menggunakan Git untuk kawalan versi sepatutnya menjadi salah satu aliran kerja yang kebanyakan jurutera hadapi setiap hari, tetapi apa yang saya gunakan tidak lebih daripada push, pull, merge, checkout atau log dan arahan lain. ?" ”

Selepas mendengar ini, saya langsung keliru. Bagi saya, rebase ialah alat yang digunakan untuk mengatur komitmen. Bagaimanakah ia boleh dibandingkan dengan gabungan? [Pembelajaran yang disyorkan: "Tutorial Git"]

git-rebase

Mula-mula, mari kita bincangkan tentang apa yang biasanya saya gunakan perintah rebase. , jika saya menambah ujian unit baharu, dan kemudian commit, maka log akan mempunyai rekod tambahan commit:

Apakah yang dilakukan git-rebase dan git-merge? Apa bezanya?

Tetapi ia tidak akan menjadi sehingga komit selesai saya mendapati saya terlepas menulis kes ujian lain, jadi selepas menebusnya, saya komited sekali lagi:

Apakah yang dilakukan git-rebase dan git-merge? Apa bezanya?

Pada masa ini, akan ada satu lagi dalam rekod commit , tetapi pada saya, kedua-dua commit ini sebenarnya melakukan perkara yang sama, jadi sebelum saya menolak ke jauh, saya ingin menyusun komit dan menggabungkan kedua-dua rekod.

Terdapat dua cara untuk menggabungkan kedua-dua rekod ini Yang pertama ialah reset sebelum menambah kes ujian pertama, dan kemudian melakukannya terus commit. Kaedah kedua ialah menggunakan rebase untuk mengendalikannya!

Mula-mula mari kita lihat log semasa:

Apakah yang dilakukan git-rebase dan git-merge? Apa bezanya?

Tujuan saya adalah untuk menyusun 9dc67ff dan 87af945 menjadi satu, jadi saya perlu untuk melaraskan Komit adalah daripada init, iaitu, semua komit selepas id komit ialah 7eb57cb Apabila dipasangkan dengan perintah rebase, ia adalah:

git?rebase?-i?7eb57cb

Selepas memasukkan, ia akan melompat ke. skrin penyuntingan vim:

Apakah yang dilakukan git-rebase dan git-merge? Apa bezanya?

Anda akan melihat semua komit selepas 7eb57cb pada skrin (pada masa ini hanya 9dc67ff dan 87af945), kemudian tukar 9dc67ff daripada pick kepada squash bermaksud menggabungkannya dengan komitmen sebelumnya. Klik i dahulu dan kemudian mula mengedit kandungan dengan vim:

Apakah yang dilakukan git-rebase dan git-merge? Apa bezanya?

Selepas mengedit, anda boleh klik esc dan masukkan :wq untuk menyimpan Jika anda hanya ingin tahu, masuk dan lihat untuk menyimpan, masukkan :q!. Selepas menyelesaikan proses di atas, semak log sekali lagi dan anda akan mendapati bahawa dua komit telah menjadi satu. Selepas menyimpan, ia akan melompat ke skrin mesej komit Di sini anda boleh memasukkan mesej komit yang digabungkan, tetapi saya tidak akan mengubahnya dan hanya menyimpannya terus:

Apakah yang dilakukan git-rebase dan git-merge? Apa bezanya?

Tamat. di atas Selepas proses, semak log sekali lagi, dan anda akan mendapati bahawa kedua-dua komit telah menjadi satu:

Apakah yang dilakukan git-rebase dan git-merge? Apa bezanya?

Baik dahulu, operasi di atas ialah mod interaktif rebase, dalam git rebase -i yang dimasukkan kemudian sebenarnya adalah singkatan daripada interactive.

git-merge

Semua orang sepatutnya sangat biasa dengan arahan gabungan, kerana apabila membuat ciri baharu, anda biasanya mengeluarkan cawangan dan kemudian menyelesaikannyamerge Kembali ke cabang utama seperti master atau develop. Proses operasi adalah seperti berikut:

Apakah yang dilakukan git-rebase dan git-merge? Apa bezanya?

在 merge 的時(shí)候會有兩種情況,第一種是 ?fast-forward,會把被合并分支的 HEAD 的 reference 移到要合併分支內(nèi)最新的 commit 上,上方操作的 merge 結(jié)果就是 fast-forward,master 的 HEAD 被移到 string-library 的最新 commit,畫成圖的話就是這樣子:

Apakah yang dilakukan git-rebase dan git-merge? Apa bezanya?

但是如果在執(zhí)行 merge 的時(shí)候產(chǎn)生沖突,那分支的合并行為就會和 fast-forward 有點(diǎn)不同了。舉例來說,我分別在 master 和 string-library 的同一個(gè)文件添加內(nèi)容,那當(dāng)我執(zhí)行 merge 的時(shí)候就會要求先修復(fù)沖突:

Apakah yang dilakukan git-rebase dan git-merge? Apa bezanya?

修復(fù)完后,再執(zhí)行 commit 完成合并,而這一次合并時(shí),會再多一個(gè) commit 是有關(guān) merge 了 string-library 分支的紀(jì)錄:

Apakah yang dilakukan git-rebase dan git-merge? Apa bezanya?

這個(gè)情況畫成圖就會像這樣子:

Apakah yang dilakukan git-rebase dan git-merge? Apa bezanya?

git-rebase 與 git-merge 的差異

看完上方對 rebasemerge 的介紹后,你也許會想說:

「咦?那這兩個(gè)不是完全不同的東西嗎?」

對的,原本我也是這麼認(rèn)為,一直到我去看了 git-rebase 的文檔,才發(fā)現(xiàn)原來我一直誤會它了。在 git book 的 rebase 篇章,第一段就說明了,在 Git 里有兩種方法可以用來整合兩個(gè)分支,而這兩個(gè)在上方都有提到,分別為 mergerebase

Apakah yang dilakukan git-rebase dan git-merge? Apa bezanya?

從上方的 merge 例子已經(jīng)知道了,merge 在合并的時(shí)候會有 fast-forward,和沖突時(shí)用一個(gè) commit 記錄合并變更的兩種情形。而 rebase 的整合方式非常有趣,依照關(guān)于 rebase 的另一段說明,它可以「把某個(gè)分支中所有 commit 的過程,以另一個(gè)分支的 commit 為基礎(chǔ)重播一遍」:

Apakah yang dilakukan git-rebase dan git-merge? Apa bezanya?

這是什麼意思呢?首先讓我們回到上述的例子,并在 master 分支上用 reset,讓 master 的版本回到合并 string-library 之前:

Apakah yang dilakukan git-rebase dan git-merge? Apa bezanya?

現(xiàn)在我們要用 rebase 指令,將 string-library 所有的 commit 修改,以 master 的 commit 為基礎(chǔ)跑一次。使用 rebase 合并的第一步,要先切到想重播 commit 的分支:

git?checkout?string-library

然后再輸入 git rebase 指令,并于后方指定要在哪個(gè)分支上重播:

git?rebase?master

執(zhí)行結(jié)果:

Apakah yang dilakukan git-rebase dan git-merge? Apa bezanya?

在 rebase 重播 commit 的過程中,和 merge 相似的地方在于,如果有沖突的話還是需要解決,但在解決后,并不是使用 commit 指令進(jìn)行合并,而是要輸入 git rebase --continue,讓 rebase 可以繼續(xù)重播接下來的 commit:

Apakah yang dilakukan git-rebase dan git-merge? Apa bezanya?

重播完成時(shí),會顯示目前重播到哪個(gè) commit,以 string-library 來說就是最新的add string unit test D。這時(shí)候的分支關(guān)系,畫成圖就會變成:

Apakah yang dilakukan git-rebase dan git-merge? Apa bezanya?

上圖在經(jīng)過 rebase 之后,string-library 里 07e38fb 修改,會以 master 的 commit 為基底再重播一次。

需要注意的是,重播后的 commit id 會和原本的不一樣,這等于完全改寫了分支內(nèi)所有的 commit 歷史紀(jì)錄。

Selain itu, selepas melaksanakan rebase, string-library sebenarnya belum digabungkan kembali ke cawangan induk, jadi anda masih perlu bertukar kembali ke cawangan induk untuk melaksanakan gabungan bagi melengkapkan gabungan:

Apakah yang dilakukan git-rebase dan git-merge? Apa bezanya?

Oleh kerana pangkalan semula telah digunakan untuk mengendalikan konflik komit semasa main semula, kini cantuman akan terus ke cantuman ke hadapan pantas dan tidak akan ada rekod komit lain untuk gabungan itu.

Kebaikan dan keburukan menggunakan git-rebase untuk bergabung

Kelebihan

  • Tiada komit berlebihan akan dihasilkan semasa penggabungan .

  • Konflik boleh dikendalikan dalam unit komit semasa main semula.

  • Apabila digabungkan, ia akan diatur mengikut komitmen cawangan, supaya isu semakan atau proses pemprosesan ciri dapat difahami dengan jelas. Jika anda menggunakan gabungan, komit kedua-dua cawangan akan disusun dalam susunan kronologi selepas gabungan.

  • Apabila menyumbang kepada projek sumber terbuka, jika anda meletakkan semula sebelum menolak, pengarang boleh terus bergabung dengan cara yang pantas tanpa perlu menyelesaikan konflik secara berasingan.

Kelemahan

Kelemahan terbesar ialah yang disebut di atas akan mengubah suai sejarah komitmen atau cawangan secara setempat anda secara tidak sengaja menukar cawangan terpencil, dan kemudian secara tidak sengaja menggunakan git push -f, anda mungkin dibenci oleh rakan sekerja anda, atau anda mungkin diserahkan kepada jurutera utara semata-mata.

Perlukah saya menggunakan git-rebase atau git-merge?

Setelah menyemak beberapa maklumat, saya mendapati bahawa kedua-dua rebase dan merge mempunyai penyokong sendiri, saya akan menerangkan idea mereka dahulu dan kemudian secara subjektif menyebut pendapat saya sendiri.

puak git-merge

menyokong git-merge jurutera percaya bahawa nilai rekod versi terletak pada komit projek, iaitu " "Apa yang sebenarnya berlaku dalam sejarah?" Ia akan menjadi sangat buruk jika anda mengubah suai rekod sejarah ini. Jadi walaupun kandungan cawangan yang berbeza dicampurkan bersama selepas penggabungan, mereka masih menggambarkan sejarah projek. Jurutera yang dihantar oleh

git-rebase menghantar

untuk menyokong git-rebase merasakan bahawa komitmen itu bercakap tentang "proses evolusi" projek, dan apa yang berlaku adalah Yang penting, walaupun sejarah komit diubah suai, apa yang berlaku tetap tidak berubah Memandangkan rekod yang lebih jelas dan ringkas boleh digunakan untuk dibaca oleh generasi akan datang, ini harus dilakukan.

Pendapat subjektif peribadi

Saya secara peribadi masih menggunakan git-rebase untuk mengubah suai komitmen untuk menjadikan rekod sejarah lebih mudah dibaca, tetapi penggunaannya terhad untuk menolak ke jauh Sebelum ini , jika saya telah menolak rekod itu ke jauh hari ini, saya tidak akan mengubah suainya walau betapa kucar-kacirnya lagi, rekod jauh itu dikongsi oleh semua orang Jika saya tidak mengubah suainya sesuka hati, saya akan menghormati ahli lain pasukan.

[Tutorial video berkaitan yang disyorkan: bahagian hadapan web]

Atas ialah kandungan terperinci Apakah yang dilakukan git-rebase dan git-merge? Apa bezanya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1502
276
Bagaimana saya melihat sejarah komited repositori git saya? Bagaimana saya melihat sejarah komited repositori git saya? Jul 13, 2025 am 12:07 AM

Untuk melihat sejarah komited git, gunakan arahan gitlog. 1. Penggunaan asas adalah gitlog, yang boleh memaparkan hash penyerahan, pengarang, tarikh dan maklumat penyerahan; 2. Gunakan Gitlog-Eleline untuk mendapatkan pandangan ringkas; 3. Penapis oleh pengarang atau maklumat penyerahan melalui -pengadil dan --grep; 4. Tambah -P untuk melihat perubahan kod, --Stat untuk melihat statistik perubahan; 5. Penggunaan --graph dan -semua untuk melihat sejarah cawangan, atau menggunakan alat visualisasi seperti gitkraken dan vscode.

Bagaimana saya memadam cawangan git? Bagaimana saya memadam cawangan git? Jul 13, 2025 am 12:02 AM

Untuk memadam cawangan git, mula -mula pastikan ia telah digabungkan atau tiada pengekalan diperlukan. Gunakan Gitbranch-D untuk memadam cawangan digabungkan tempatan. Jika anda perlu memaksa memadam cawangan yang tidak diturunkan, gunakan parameter -D. Penghapusan Cawangan Jauh menggunakan perintah nama Gitpushorigin-Deletebranch, dan boleh menyegerakkan repositori tempatan orang lain melalui Gitfetch-Prune. 1. Untuk memadam cawangan tempatan, anda perlu mengesahkan sama ada ia telah digabungkan; 2. Untuk memadam cawangan jauh, anda perlu menggunakan parameter --elete; 3. Selepas penghapusan, anda harus mengesahkan sama ada cawangan itu berjaya dikeluarkan; 4. Berkomunikasi dengan pasukan untuk mengelakkan secara tidak sengaja memadamkan cawangan bersama; 5. Cawangan -cawangan yang tidak berguna secara berkala untuk memastikan gudang bersih.

Bagaimana saya menambah subtree ke repositori git saya? Bagaimana saya menambah subtree ke repositori git saya? Jul 16, 2025 am 01:48 AM

Untuk menambah subtree ke repositori git, mula-mula tambahkan repositori jauh dan dapatkan sejarahnya, kemudian gabungkannya ke dalam subdirektori menggunakan arahan Gitmerge dan Gitread-tree. Langkah-langkah adalah seperti berikut: 1. Gunakan perintah Gitremoteadd-F untuk menambah repositori jauh; 2. Jalankan gitmerge-srecursive-no-commit untuk mendapatkan kandungan cawangan; 3. Gunakan Gitread-Tree-Prefix = untuk menentukan direktori untuk menggabungkan projek sebagai subtree; 4. Mengemukakan perubahan untuk melengkapkan penambahan; 5. Apabila mengemas kini, gitfetch terlebih dahulu dan ulangi penggabungan dan langkah -langkah untuk menyerahkan kemas kini. Kaedah ini mengekalkan sejarah projek luaran lengkap dan mudah dikekalkan.

Bagaimana mengenal pasti altcoin palsu? Ajar anda untuk mengelakkan penipuan cryptocurrency Bagaimana mengenal pasti altcoin palsu? Ajar anda untuk mengelakkan penipuan cryptocurrency Jul 15, 2025 pm 10:36 PM

Untuk mengenal pasti altcoin palsu, anda perlu bermula dari enam aspek. 1. Semak dan sahkan latar belakang bahan dan projek, termasuk kertas putih, laman web rasmi, alamat sumber terbuka kod dan ketelusan pasukan; 2. Perhatikan platform dalam talian dan berikan keutamaan kepada pertukaran arus perdana; 3. Berhati-hati dengan pulangan yang tinggi dan mod penarik orang untuk mengelakkan perangkap dana; 4. Menganalisis Kod Kontrak dan Mekanisme Token untuk memeriksa sama ada terdapat fungsi berniat jahat; 5. Semakan operasi komuniti dan media untuk mengenal pasti populariti palsu; 6. Ikuti cadangan anti-penipuan praktikal, seperti tidak mempercayai cadangan atau menggunakan dompet profesional. Langkah -langkah di atas secara berkesan dapat mengelakkan penipuan dan melindungi keselamatan aset.

Apakah duit syiling yang tidak berguna? Gambaran keseluruhan penggunaan mata wang yang tidak berguna, ciri -ciri cemerlang dan potensi pertumbuhan masa depan Apakah duit syiling yang tidak berguna? Gambaran keseluruhan penggunaan mata wang yang tidak berguna, ciri -ciri cemerlang dan potensi pertumbuhan masa depan Jul 24, 2025 pm 11:54 PM

Apakah perkara utama katalog? UseSelesscoin: Gambaran Keseluruhan dan Ciri -ciri Utama Ciri -ciri Utama Ciri -ciri Utama UselessCoin Uselesscoin (Tidak Berkonsentasi) Masa Depan: Apakah yang memberi kesan kepada harga UseStoScoin pada tahun 2025 dan seterusnya? Fungsi Teras Outlook Harga Masa Depan dan Pengimportan Uselesscoin (Tanpa Usah

Apakah nombor kod bitcoin? Apa gaya kod bitcoin? Apakah nombor kod bitcoin? Apa gaya kod bitcoin? Jul 22, 2025 pm 09:51 PM

Sebagai perintis di dunia digital, nama kod unik Bitcoin dan teknologi asas selalu menjadi tumpuan perhatian orang. Kod standardnya adalah BTC, juga dikenali sebagai XBT pada platform tertentu yang memenuhi piawaian antarabangsa. Dari sudut pandangan teknikal, Bitcoin bukanlah satu gaya kod tunggal, tetapi projek perisian sumber terbuka yang besar dan canggih. Kod terasnya terutamanya ditulis dalam C dan menggabungkan kriptografi, sistem yang diedarkan dan prinsip ekonomi, supaya sesiapa sahaja dapat melihat, mengkaji dan menyumbang kodnya.

Cara Menetapkan Pembolehubah Alam Sekitar dalam Persekitaran PHP Penerangan Menambah Pembolehubah Alam Sekitar PHP Cara Menetapkan Pembolehubah Alam Sekitar dalam Persekitaran PHP Penerangan Menambah Pembolehubah Alam Sekitar PHP Jul 25, 2025 pm 08:33 PM

Terdapat tiga cara utama untuk menetapkan pembolehubah persekitaran dalam PHP: 1. Konfigurasi global melalui php.ini; 2. Melalui pelayan web (seperti setenv Apache atau fastcgi_param of nginx); 3. Gunakan fungsi Putenv () dalam skrip PHP. Antaranya, php.ini sesuai untuk konfigurasi global dan jarang mengubah konfigurasi, konfigurasi pelayan web sesuai untuk senario yang perlu diasingkan, dan putenv () sesuai untuk pembolehubah sementara. Dasar kegigihan termasuk fail konfigurasi (seperti php.ini atau konfigurasi pelayan web), fail .Env dimuatkan dengan perpustakaan dotenv, dan suntikan dinamik pembolehubah dalam proses CI/CD. Maklumat sensitif pengurusan keselamatan harus dielakkan dengan keras, dan disyorkan untuk digunakan.

Siap Blockbuster Python Online Melihat Masuk Python Percuma Koleksi Laman Web Siap Siap Blockbuster Python Online Melihat Masuk Python Percuma Koleksi Laman Web Siap Jul 23, 2025 pm 12:36 PM

Artikel ini telah memilih beberapa laman web projek "selesai" Python dan portal sumber pembelajaran "blockbuster" peringkat tinggi untuk anda. Sama ada anda sedang mencari inspirasi pembangunan, mengamati dan belajar kod sumber peringkat induk, atau secara sistematik meningkatkan keupayaan praktikal anda, platform ini tidak boleh dilepaskan dan dapat membantu anda berkembang menjadi tuan python dengan cepat.

See all articles