Apa alat terbaik untuk melihat dan mengedit gabungan di Git? Saya ingin mendapatkan tampilan penggabungan 3-arah, dengan "milikku", "milik mereka" dan "leluhur" di panel terpisah, dan panel "keluaran" keempat.
Juga, instruksi untuk menggunakan alat tersebut akan sangat bagus. (Saya masih belum menemukan cara memulai kdiff3 sedemikian rupa sehingga tidak memberi saya kesalahan.)
OS saya adalah Ubuntu.
git
version-control
merge
andy
sumber
sumber
Jawaban:
Meld adalah alat diff / merge gratis, open-source, dan lintas-platform (UNIX / Linux, OSX, Windows).
Berikut cara menginstalnya:
sumber
meld
membosankan dengan diffs kompleks, mampu memilih pilihan sepertichose b for all unresolved conflicts
jauh lebih baik daripada harus manual klik tanda panah yang benar untuk setiap cowok dimeld
. Selain itu, kemampuan untuk menggabungkan ke dalam file output tertentu daripada mengedit file input yang ada sangat berharga untuk membuat cadangan dari kegagalan nerges.Anda dapat mengonfigurasi alat gabungan Anda sendiri untuk digunakan dengan "
git mergetool
".Contoh:
Dan saat Anda melakukannya, Anda juga dapat mengaturnya sebagai difftool Anda untuk "
git difftool
":Perhatikan bahwa di Unix / Linux Anda tidak ingin
$BASE
parsing sebagai variabel oleh shell Anda - itu seharusnya benar-benar muncul di file ~ / .gitconfig Anda agar ini berfungsi.sumber
Beyond Compare 3 , favorit saya, memilikifungsi penggabungan dalam edisi Pro . Hal yang baik dengan gabungannya adalah membiarkan Anda melihat semua 4 tampilan: dasar, kiri, kanan, dan hasil gabungan. Ini agak kurang visual daripada P4V tetapi jauh lebih dari WinDiff. Ini terintegrasi dengan banyak kontrol sumber dan bekerja pada Windows / Linux. Ini memiliki banyak fitur seperti aturan lanjutan, edisi, perataan manual ...
Perforce Visual Client ( P4V ) adalah alat gratis yang menyediakan salah satu antarmuka paling eksplisit untuk penggabungan (lihat beberapa tangkapan layar ). Bekerja pada semua platform utama. Kekecewaan utama saya dengan alat itu adalah jenis antarmuka "read-only" . Anda tidak dapat mengedit file secara manual dan Anda tidak dapat menyelaraskan secara manual.
PS: P4Merge termasuk dalam P4V. Perforce mencoba membuatnya agak sulit untuk mendapatkan alat mereka tanpa klien mereka.
SourceGear Diff / Merge mungkin menjadi pilihan alat gratis kedua saya. Periksa bahwa gabungkan tangkapan layar dan Anda akan melihatnya setidaknya memiliki 3 tampilan.
Meld adalah alat gratis yang lebih baru yang saya lebih suka SourceGear Diff / Merge : Sekarang ini juga berfungsi pada sebagian besar platform (Windows / Linux / Mac) dengan keuntungan yang berbeda secara native mendukung beberapa kontrol sumber seperti Git . Jadi Anda dapat memiliki beberapa perbedaan riwayat pada semua file yang lebih sederhana. Tampilan penggabungan (lihat tangkapan layar ) hanya memiliki 3 panel, seperti SourceGear Diff / Merge . Ini membuat penggabungan agak sulit dalam kasus-kasus kompleks.
PS: Jika satu alat suatu hari mendukung penggabungan 5 tampilan , ini akan sangat luar biasa, karena jika Anda memilih komit di Git Anda benar-benar tidak memiliki satu basis tetapi dua. Dua basis, dua perubahan, dan satu hasil penggabungan.
sumber
Saya mendengar hal-hal baik tentang kdiff3.
sumber
kdiff3
memiliki lebih banyak fitur tetapimeld
memiliki UI yang lebih baik. Menurut pendapat saya,meld
lebih baik untuk menggabungkan mudah di mana fitur yang disediakan olehmeld
cukup. Ingatlah untuk mencobadiffuse
juga.Alat penggabungan visual favorit saya adalah SourceGear DiffMerge
sumber
vimdiff
Setelah Anda telah belajar vim (dan IMHO Anda harus), vimdiff hanyalah satu lagi konsep ortogonal kecil yang indah untuk dipelajari. Untuk mendapatkan bantuan online di vim:
Pertanyaan ini mencakup bagaimana cara menggunakannya: Bagaimana cara saya menggunakan vimdiff untuk menyelesaikan konflik?
Jika Anda terjebak di zaman kegelapan penggunaan mouse, dan file yang Anda gabungkan tidak terlalu besar, saya sarankan berbaur.
sumber
Anda dapat mencoba P4Merge .
Fitur-fiturnya meliputi:
sumber
IntelliJ IDEA memiliki yang canggih alat resolusi konflik gabungan yang dengan tongkat ajaib Resolve, yang sangat menyederhanakan penggabungan:
sumber
Diffuse adalah favorit saya tetapi tentu saja saya bias. :-) Sangat mudah digunakan:
sumber
diffuse
terlihat sangat bagus. Saya hanya mencobanya sekarang dan itu lebih baik daripada diffingkdiff3
. Tapi, saya mencoba menggunakannyagit mergetool
dan membuka 4 file di sebelah satu sama lain (lokal, hasil gabungan, jarak jauh, basis), dan layar saya tidak cukup lebar untuk itu. Saya harus melakukan banyak scroll horizontal. kdiff3 hanya menampilkan 3 bersebelahan dan hasilnya di bagian bawah jendela.Araxis Merge http://www.araxis.com/merge Saya menggunakannya di Mac OS X tapi saya sudah menggunakannya di windows ... ini tidak gratis ... tetapi memiliki beberapa fitur bagus ... lebih bagus di windows sekalipun.
sumber
Anda dapat mengubah alat yang digunakan oleh git mergetool dengan melewatkan
git mergetool -t=<tool>
atau--tool=<tool>
. Untuk mengubah default (dari vimdiff) gunakangit config merge.tool <tool>
.sumber
Jika Anda hanya mencari alat diff yang luar biasa bagus: http://www.scootersoftware.com/moreinfo.php
sumber
Jadi untuk penggabungan git, Anda dapat mencoba:
DiffMerge untuk membandingkan dan menggabungkan file secara visual pada Windows, OS X dan Linux.
Meld , adalah alat diff dan penggabungan visual.
opendiff
(bagian dari Xcode Tools pada macOS), sebuah utilitas baris perintah yang meluncurkan aplikasi FileMerge dari Terminal untuk membandingkan secara grafis file atau direktori, termasuk penggabungan .sumber
git config --global merge.tool opendiff
bekerja paling baik untuk sayaSaya sudah mencoba banyak alat yang disebutkan di sini dan tidak satupun yang saya cari.
Secara pribadi, saya telah menemukan Atom menjadi alat yang hebat untuk memvisualisasikan perbedaan dan resolusi konflik / penggabungan.
Adapun penggabungan, tidak ada tiga tampilan tetapi semuanya digabung menjadi satu dengan highlight berwarna untuk setiap versi. Anda dapat mengedit kode secara langsung atau ada tombol untuk menggunakan versi potongan mana saja yang Anda inginkan.
Saya bahkan tidak menggunakannya sebagai editor atau IDE lagi, hanya untuk bekerja dengan git. UI bersih dan sangat mudah, ditambah lagi sangat dapat disesuaikan.
Anda dapat memulainya dari baris perintah dan mengirimkan satu file yang ingin Anda buka, atau menambahkan folder proyek Anda (git repo).
Satu-satunya masalah yang saya miliki adalah menyegarkan - ketika bekerja dengan atom repositori besar bisa lambat untuk memperbarui perubahan yang Anda buat di luar itu. Saya selalu menutupnya ketika saya selesai, dan kemudian membuka kembali ketika saya ingin melihat perubahan saya / komit lagi. Anda juga dapat memuat ulang jendela dengan ctrl + shift + f5, yang hanya membutuhkan waktu satu detik.
Dan tentu saja gratis.
sumber
Saya menggunakan alat yang berbeda untuk menggabungkan dan membandingkan:
Fist bisa dipanggil oleh:
Kedua disebut saat Anda menggunakan
git mergetool
.sumber
Anda dapat menginstal ECMerge diff / merge tool di Linux, Mac atau Windows Anda. Ini sudah dikonfigurasikan sebelumnya di Git, jadi hanya menggunakan
git mergetool
akan melakukan pekerjaan itu.sumber
Jika Anda menggunakan visual studio , alat bawaan Team Explorer adalah alat yang sangat bagus untuk menyelesaikan konflik git merge.
sumber
gitx http://gitx.frim.nl/
Beberapa bug saat bekerja dengan set komit besar tetapi bagus untuk menelusuri perubahan dan memilih perubahan berbeda ke panggung dan kemudian melakukan.
sumber