Saya telah berhasil mendapatkan git untuk memulai Beyond Compare 3 sebagai alat diff, namun, ketika saya melakukan diff, file yang saya bandingkan tidak sedang dimuat. Hanya versi terbaru dari file yang dimuat dan tidak ada yang lain, jadi tidak ada apa pun di panel kanan Beyond Compare.
Saya menjalankan git 1.6.3.1 dengan Cygwin dengan Beyond Compare 3. Saya telah menyiapkan luar biasa seperti yang mereka sarankan di bagian dukungan situs web mereka dengan skrip seperti:
#!/bin/sh
# diff is called by git with 7 parameters:
# path old-file old-hex old-mode new-file new-hex new-mode
"path_to_bc3_executable" "$2" "$5" | cat
Apakah ada orang lain yang mengalami masalah ini dan mengetahui solusi untuk ini?
Sunting:
Saya telah mengikuti saran oleh VonC tetapi saya masih mengalami masalah yang sama persis seperti sebelumnya. Saya agak baru mengenal Git jadi mungkin saya tidak menggunakan diff dengan benar.
Misalnya, saya mencoba melihat diff pada file dengan perintah seperti:
git diff main.css
Beyond Compare kemudian akan terbuka dan hanya menampilkan main.css saya saat ini di panel kiri, tidak ada apa pun di panel kanan. Saya ingin melihat main.css saya saat ini di panel kiri dibandingkan dengan HEAD, pada dasarnya apa yang terakhir saya lakukan.
Git-diff-wrapper.sh saya terlihat seperti ini:
#!/bin/sh
# diff is called by git with 7 parameters:
# path old-file old-hex old-mode new-file new-hex new-mode
"c:/Program Files/Beyond Compare 3/BCompare.exe" "$2" "$5" | cat
Konfigurasi git saya terlihat seperti ini untuk Diff:
[diff]
external = c:/cygwin/bin/git-diff-wrapper.sh
sumber
/c/program files
sebagai gantic:/program files
. Juga saya menghapus"$(cygpath -w $LOCAL)"
dan baru saja digunakan"$LOCAL"
. Sepertinya ini akan berhasil.bcompare: command not found
- sampai saya mengubah NAMA alat dari yangbc3
lain (sepertiabc3
). Saya rasa beberapa pengaturan Github internal ikut campur. Juga, saya melepas"$(cygpath -w $LOCAL)"
bagian itu dan menggantinya dengan"$LOCAL"
. Sekarang berfungsi dengan baik. Terima kasih!Terima kasih kepada @dahlbyk , penulis Posh-Git , karena telah memposting konfigurasinya sebagai intinya . Ini membantu saya menyelesaikan masalah konfigurasi saya.
sumber
cmd = 'C:\\Program Files\\Beyond Compare 4\\BCompare.exe' \"$LOCAL\" \"$REMOTE\"
Jalankan perintah ini untuk Beyond Compare 2:
Jalankan perintah ini untuk Beyond Compare 3:
Kemudian gunakan
git difftool
sumber
Note: Use bc3 on the command line for both BC version 3 and 4
Dokumentasi resmi berhasil untuk saya
sumber
Ini file konfigurasi saya. Perlu beberapa kali gulat tetapi sekarang berhasil. Saya menggunakan windows server, msysgit dan seterusnya 3 (tampaknya versi x86). Anda akan melihat bahwa saya tidak perlu menentukan argumen apa pun, dan saya menggunakan "path" daripada "cmd".
sumber
The luar halaman dukungan Bandingkan adalah sedikit singkat.
Periksa diff.external jawaban saya untuk lebih lanjut (mengenai sintaks yang tepat)
Ekstrak:
Catatan: Anda juga bisa menggunakan
git difftool
.sumber
Sepertinya BC3 hanya mendukung penggabungan 3 arah untuk Edisi PRO. http://www.scootersoftware.com/moreinfo.php?zz=kb_editions
sumber
Harap perhatikan Anda membuat jalur yang salah dari $ 2. karena Anda menggunakan Cygwin tetapi BC3 tidak, jadi Anda harus menentukan path lengkapnya. seperti "d: / cygwin $ 2"
Silakan lihat git-diff-wrapper.sh saya di sini:
Semoga berhasil.
sumber
bcompare.exe $(cygpath -w $2)
. Bersulang.Jika Anda menjalankan windows 7 (profesional) dan Git untuk Windows (v 2.15 atau lebih tinggi), Anda cukup menjalankan perintah di bawah ini untuk mencari tahu apa saja alat diff yang didukung oleh Git untuk Windows Anda
Anda akan melihat keluaran yang serupa dengan ini
itu berarti git Anda tidak mendukung (tidak dapat menemukan) luar biasa sebagai difftool sekarang.
Agar Git dapat menemukan luar biasa sebagai difftool yang valid, Anda harus memiliki direktori instalasi Beyond Compare di variabel lingkungan jalur sistem Anda . Anda dapat memeriksanya dengan menjalankan bcompare dari shell (cmd, git bash atau powershell. Saya menggunakan Git Bash). Jika Beyond Compare tidak dapat diluncurkan, tambahkan direktori instalasinya (dalam kasus saya, C: \ Program Files \ Beyond Compare 4) ke variabel jalur sistem Anda. Setelah ini, restart shell Anda. Git akan menampilkan Beyond Compare sebagai opsi difftool yang mungkin. Anda dapat menggunakan salah satu dari perintah di bawah ini untuk meluncurkan luar biasa sebagai difftool (misalnya, untuk membandingkan file lokal apa pun dengan beberapa cabang lain)
Anda dapat mengkonfigurasi luar biasa sebagai difftool default menggunakan perintah di bawah ini
ps perlu diingat bahwa bc dalam perintah di atas dapat berupa bc3 atau bc berdasarkan apa yang Git dapat temukan dari variabel sistem jalur Anda.
sumber
Pembaruan untuk BC4 64bit: Ini berfungsi untuk Git untuk Windows v.2.16.2 dan Beyond Bandingkan 4 - v.4.2.4 (Edisi 64bit)
Saya secara manual mengedit file .gitconfig yang terletak di root pengguna saya "C: \ Users \ MyUserName" dan mengganti tag diff / difftool dan merge / mergetool dengan
sumber
http://rubenlaguna.com/wp/2010/08/05/visual-difftool-cygwin-git/ memiliki solusi yang saya adopsi untuk bekerja untuk BeyondCompare: http://gist.github.com/564573
sumber
Perbedaannya adalah pada exe yang dipanggil: atur untuk memanggil bcomp.exe dan itu akan berfungsi dengan baik. Konfigurasikan lingkungan Anda untuk memanggil bcompare.exe dan Anda akan berakhir dengan sisi perbandingan yang diambil dari sistem revisi Anda menjadi kosong.
sumber
Jalankan perintah berikut untuk Beyond Compare 3 (jika jalur BCompare.exe berbeda di sistem Anda, harap ganti sesuai dengan milik Anda):
Kemudian gunakan
git difftool
sumber
Windows 10, Git v2.13.2
.Gitconfig saya. Ingatlah untuk menambahkan karakter escape untuk '\' dan '"'.
Anda dapat merujuk pengaturan luar biasa sebagai alat bantu untuk menggunakan perintah git untuk mengkonfigurasinya .
sumber
Untuk alasan apa pun, bagi saya, file tmp yang dibuat oleh git diff telah dihapus sebelum dibuka tanpa bisa dibandingkan. Saya harus menyalinnya ke lokasi lain terlebih dahulu.
sumber
Untuk MAC setelah melakukan banyak penelitian, itu berhasil untuk saya ..! 1. Instal yang luar biasa dan ini akan dipasang di lokasi di bawah ini
Ikuti langkah-langkah berikut untuk menjadikan bc sebagai alat diff / merge di git http://www.scootersoftware.com/support.php?zz=kb_mac
sumber
Untuk git versi 2.15.1.windows.2 dengan BC2.exe.
Konfigurasi di bawah ini akhirnya berfungsi di mesin saya.
[difftool "bc2"] cmd = \"c:/program files/beyond compare 2/bc2.exe\" ${LOCAL} ${REMOTE}
sumber