MENGGUNAKAN ALAT VISUAL DIFF
Jawaban Default (pada baris perintah)
Jawaban teratas di sini dengan benar menunjukkan cara melihat perubahan yang di-cache / dipentaskan di Index
:
$ git diff --cached
atau $ git diff --staged
yang merupakan alias.
Meluncurkan Alat Visual Diff
Jawaban default akan memuntahkan perubahan diff pada bash git (yaitu pada baris perintah atau di konsol). Bagi mereka yang lebih suka representasi visual dari perbedaan file bertahap, ada skrip yang tersedia di dalam git yang meluncurkan alat diff visual untuk setiap file yang dilihat alih-alih menunjukkannya pada baris perintah, yang disebut difftool
:
$ git difftool --staged
Ini akan melakukan hal yang sama seperti ini git diff --staged
, kecuali setiap kali alat diff dijalankan (yaitu setiap kali file diproses oleh diff), ia akan meluncurkan alat visual diff standar (di lingkungan saya, ini kdiff3 ).
Setelah alat diluncurkan, skrip git diff akan berhenti hingga alat visual diff Anda ditutup. Oleh karena itu, Anda harus menutup setiap file untuk melihat yang berikutnya.
Anda Selalu Dapat Menggunakan difftool
di tempatdiff
dalam perintah git
Untuk semua kebutuhan visual Anda yang berbeda, git difftool
akan bekerja di tempat apa pungit diff
perintah , termasuk semua opsi.
Misalnya, agar peluncuran alat visual berbeda tanpa menanyakan apakah akan melakukannya untuk setiap file, tambahkan -y
opsi (saya pikir biasanya Anda menginginkan ini !!):
$ git difftool -y --staged
Dalam hal ini ia akan menarik setiap file dalam alat visual diff, satu per satu, membuka yang berikutnya setelah alat ditutup.
Atau untuk melihat perbedaan dari file tertentu yang dipentaskan di Index
:
$ git difftool -y --staged <<relative path/filename>>
Untuk semua opsi, lihat halaman manual:
$ git difftool --help
Menyiapkan Alat Visual Git
Untuk menggunakan alat visual git selain dari yang standar, gunakan -t <tool>
opsi:
$ git difftool -t <tool> <<other args>>
Atau, lihat halaman manual difftool untuk cara mengkonfigurasi git untuk menggunakan alat visual diff standar yang berbeda.
Contoh .gitconfig
entri untuk vscode sebagai alat diff / merge
Bagian dari menyiapkan difftool melibatkan mengubah .gitconfig
file, baik melalui perintah git yang mengubahnya di belakang layar, atau mengeditnya secara langsung.
Anda dapat menemukannya .gitconfig
di direktori home Anda, seperti ~
di Unix atau normalc:\users\<username>
di Windows).
Atau, Anda dapat membuka pengguna .gitconfig
dengan editor Git default Andagit config -e --global
.
Berikut adalah contoh entri dalam pengguna global saya .gitconfig
untuk Kode VS baik sebagai alat berbeda dan alat gabungan:
[diff]
tool = vscode
guitool = vscode
[merge]
tool = vscode
guitool = vscode
[mergetool]
prompt = true
[difftool "vscode"]
cmd = code --wait --diff \"$LOCAL\" \"$REMOTE\"
path = c:/apps/vscode/code.exe
[mergetool "vscode"]
cmd = code --wait \"$MERGED\"
path = c:/apps/vscode/code.exe
git status -v
bekerja juga. Lihat jawaban saya di bawah ini