Git

Git Bandingkan Dua Cabang

Git Bandingkan Dua Cabang

Hampir semua sistem kontrol versi memiliki opsi percabangan. Tapi Git dikenal dengan kemampuan percabangannya yang cepat. Cabang Git ringan. Jadi hukuman kinerja untuk percabangan minimal dan tim pengembangan didorong untuk bercabang dan bergabung sebanyak mungkin. Tetapi ketika Anda bekerja dengan banyak cabang, penting untuk dapat membandingkan dan membedakan perbedaannya. Dalam tutorial ini, kita akan melalui alur kerja untuk melihat bagaimana kita dapat membandingkan berbagai cabang dan komit.Pertama-tama mari kita atur situasi berikut:

C00  =>  C01 => C03  => C06 (master)

      \

       C02 => C04 => C05 (pengembangan)

Langkah-langkah berikut diambil:

Setelah semua komit, cabang 'master' memiliki file-file berikut:

Halo Dunia.py
Baca aku.txt

Dan cabang 'pengembangan' memiliki file-file berikut:

Halo Dunia.py
info.txt


Membandingkan kepala dua cabang

Anda dapat menggunakan nama cabang untuk membandingkan kepala dua cabang:

$ git diff master… pengembangan
diff --git a/hello_world.py b/hello_world.py
indeks e27f806… 3899ed3 100644
--- a/hello_world.py
+++ b/halo_dunia.py
@@ -2,7 +2,7 @@
def utama():
print("Halo Pertama!")
- print("Halo Kedua!")
-
+ print("Cabang pengembangan menyapa")
+ print("Cabang pengembangan menyapa lagi")
jika __name__ == "__main__":
utama()
diff --git a/info.txt b/info.txt
mode file baru 100644
indeks 0000000… 0ab52fd
--- /dev/null
+++ b/info.txt
@@ -0,0 +1 @@
+Informasi baru
diff --git a/readme.txt b/readme.txt
mode file yang dihapus 100644
indeks e29c296… 0000000
--- a/baca saya.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-1 baris pertama readme.txt
-2 baris kedua readme.txt

Perintah diff secara rekursif melihat perubahan. Ini telah menjalankan perbedaan berikut:

diff -git a/hello_world.py b/hello_world.py
diff -git a/info.txt b/info.txt
diff -git a/readme.txt b/readme.txt

Di sini 'a' adalah singkatan dari cabang 'master' dan 'b' adalah singkatan dari cabang pengembangan. 'a' selalu ditetapkan untuk parameter pertama dan 'b' untuk parameter kedua.  /dev/null berarti cabang itu tidak memiliki file.


Membandingkan antar komit

Dalam contoh kita, cabang 'master' memiliki komit berikut:

$git status
Di kepala cabang
tidak ada yang perlu dilakukan, direktori kerja bersih
$ git log --oneline
caa0ddd C06: Readme yang dimodifikasi.txt untuk menambahkan baris kedua (cabang master)
efaba94 C03: Menambahkan readme.txt (cabang utama)
ee60eac C01: Hello_world yang dimodifikasi.py untuk menambahkan halo kedua (cabang master)
22b4bf9 C00: Menambahkan hello_world.py (cabang utama)

Cabang pengembangan memiliki komitmen berikut:

$git status
Pada pengembangan cabang
tidak ada yang perlu dilakukan, direktori kerja bersih
$ git log --oneline
df3a4ee C05: Info tambahan.txt (cabang pengembangan)
0f0abb8 C04: Hello_world yang dimodifikasi.py untuk menambahkan cabang Pengembangan berkata Halo lagi (cabang pengembangan)
3f611a0 C02: Hello_world yang dimodifikasi.py untuk menambahkan cabang Pengembangan mengatakan Halo (cabang pengembangan)
22b4bf9 C00: Menambahkan hello_world.py (cabang utama)

Misalkan kita ingin membandingkan hello_world.py untuk komit C01 dan C02. Anda dapat menggunakan hash untuk membandingkan:

$ git diff ee60eac: hello_world.py 3f611a0: hello_world.py
diff --git a/ee60eac:hello_world.py b/3f611a0:hello_world.py
indeks e27f806… 72a178d 100644
--- a/ee60eac: hello_world.py
+++ b/3f611a0:halo_dunia.py
@@ -2,7 +2,7 @@
def utama():
print("Halo Pertama!")
- print("Halo Kedua!")
+ print("Cabang pengembangan menyapa")
jika __name__ == "__main__":
utama()

Anda dapat menggunakan prinsip yang sama untuk membandingkan komit dalam cabang yang sama juga.


Alat Penggabungan Visual

Melihat perbandingan berbasis teks bisa jadi sulit. Jika Anda mengatur difftool Git dengan aplikasi penggabungan visual seperti DiffMerge atau BeyondCompare, Anda akan dapat melihat perbedaan dengan lebih baik.

Pelajaran lanjutan:

Referensi:

Cara Menggunakan AutoKey untuk Mengotomatiskan Game Linux
AutoKey adalah utilitas otomatisasi desktop untuk Linux dan X11, diprogram dengan Python 3, GTK dan Qt. Dengan menggunakan skrip dan fungsionalitas MA...
Cara Menampilkan Penghitung FPS di Game Linux
Game Linux mendapat dorongan besar ketika Valve mengumumkan dukungan Linux untuk klien Steam dan game mereka pada tahun 2012. Sejak itu, banyak game A...
Cara mengunduh dan Memainkan Civilization VI Sid Meier di Linux
Pengenalan permainan Civilization 6 adalah konsep modern dari konsep klasik yang diperkenalkan dalam seri game Age of Empires. Idenya cukup sederhana;...