Saya menggunakan X-branch dan telah menambahkan beberapa commit di atasnya. Saya ingin melihat semua perbedaan antara MASTER dan cabang yang saya ikuti dalam hal komitmen. Saya hanya bisa melakukan
git checkout master
git log
dan kemudian a
git checkout branch-X
git log
dan berbeda secara visual ini, tapi saya berharap untuk metode yang lebih mudah, kurang rawan kesalahan.
Jawaban:
Anda bisa mendapatkan hasil visual yang benar-benar bagus tentang perbedaan cabang Anda dengan ini
sumber
git log --oneline --graph --all --decorate --abbrev-commit
akan memberi Anda hasil yang serupa dalam perintah yang lebih pendek / lebih mudah dibacagit log --all --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset'
git log --oneline --graph --all --decorate
sudah cukup,--abbrev-commit
tidak diharuskan,--oneline
kependekan dari--pretty=oneline --abbrev-commit
Anda dapat melakukannya dengan mudah
Itu akan menunjukkan Anda melakukan bahwa cabang-X memiliki tetapi master tidak.
sumber
branch-X
Anda dapat menggunakangit log master..
git log master...branch-X
(tiga titik alih-alih dua). Lihatman gitrevisions
untuk info lebih lanjut.Saya pikir ini masalah pilihan dan konteks. Saya lebih suka menggunakan
Ini akan menampilkan komit dalam pengembangan yang tidak di cabang master.
Jika Anda ingin melihat file mana yang sebenarnya dimodifikasi gunakan
Jika Anda tidak menentukan argumen, itu akan menampilkan perbedaan penuh. Jika Anda ingin melihat perbedaan visual, instal
meld
di linux, atauWinMerge
di windows. Pastikan mereka adalah difftools default. Kemudian gunakan sesuatu sepertiJika Anda ingin membandingkannya dengan cabang saat ini. Lebih nyaman menggunakan HEAD daripada menggunakan nama cabang seperti use:
Ini akan menunjukkan kepada Anda semua komitmen, yang akan digabung
sumber
--no-merges
seperti:git log origin/master..HEAD --oneline --no-merges
Jika Anda menggunakan Linux,
gitg
harus melakukannya dengan sangat cepat dan grafis.Jika Anda bersikeras pada baris perintah Anda dapat menggunakan:
Agar
git log
lebih bagus secara default, saya biasanya mengatur preferensi global ini:sumber
Saya sarankan yang berikut untuk melihat perbedaan "dalam komit". Untuk perbedaan simetris, ulangi perintah dengan argumen terbalik:
sumber
jika Anda ingin menggunakan gitk:
ini memiliki GUi sekolah tua yang bagus
sumber
Bukan jawaban yang sempurna tetapi bekerja lebih baik untuk orang yang menggunakan Github:
Buka repo Anda:
Insights -> Network
sumber
Jika Anda ingin membandingkan berdasarkan pesan yang dikomit, Anda dapat melakukan hal berikut:
sumber
--oneline
dancut
git log --format='%s'
Menyumbang ini karena memungkinkan a dan b log untuk dibedakan secara visual, berdampingan, jika Anda memiliki alat visual diff. Ganti perintah diff di akhir dengan perintah untuk memulai alat diff visual.
sumber
Saya menggunakan beberapa jawaban dan menemukan satu yang cocok dengan kasus saya (pastikan semua tugas ada di cabang rilis).
Metode lain juga berfungsi tetapi saya menemukan bahwa mereka mungkin menambahkan baris yang tidak saya butuhkan, seperti menggabungkan komit yang tidak menambah nilai.
atau Anda dapat membandingkan arus Anda dengan master
git fetch
ada untuk memastikan Anda menggunakan info terbaru.Dengan cara ini, setiap komit akan berada pada satu baris dan Anda dapat menyalin / menempelkannya ke dalam editor teks dan mulai membandingkan tugas-tugas dengan komit yang akan digabung.
sumber