gitDiff lebih fungsional daripada unix standar diff. Saya sering ingin melakukan ini dan karena pertanyaan ini mendapat peringkat tinggi di google, saya ingin jawaban ini muncul.
Menunjukkan bagaimana menggunakan git untuk menyebarkan berkas yang setidaknya salah satunya tidak ada dalam repositori dengan menggunakan --no-index:
git diff --no-index file1.txt file2.txt
Tidak masalah mana yang dilacak oleh git dan mana yang tidak - salah satu atau keduanya tidak dapat dilacak, misalnya:
$ date > x
$ sleep 2
$ date > y
$ git diff --color-words --no-index x y
diff --git a/x b/y
index 6b10c7c..70f036c 100644
--- a/x
+++ a/y
@@ -1 + 1 @@
Wed Jun 10 10:57:45|10:57:47 EDT 2013
Warnanya tidak bisa ditampilkan di sini jadi saya memisahkan perubahan dengan pipa di contoh.
Jika Anda ingin perilaku ini default, Anda dapat menambahkan alias ke .bashrcfile Anda (atau apa pun yang Anda gunakan):alias diff="git diff --no-index"
mengimbangi
1
FYI: Pada Git untuk Windows ada bug (# 2123) yang "--no-index" tidak dihormati. Ini telah diperbaiki di Git untuk Windows v2.21.0 (26 Februari 2019).
StackzOfZtuff
Apa arti baris "index 6b10c7c..70f036c 100644"? Saya membandingkan 2 biner, mereka berbeda, tetapi itu adalah satu-satunya baris dengan perbedaan ...
Lukas Salich
hai @LukasSalich sepertinya format baris itu mungkin didokumentasikan oleh git (misalnya: git-scm.com/docs/diff-format ) git's diff tidak mencoba untuk membedakan biner afaik, jadi saya menebak baris itu berarti mereka berbeda , dua SHA tempat perubahan diidentifikasi dan kemudian izin file.
Kyle Burton
3
diff -u
akan memberikan keluaran konteks terpadu yang mirip dengan git's diff.
--patience
bendera? Apakah Anda tahu diff (1) yang bisa melakukan itu?Jawaban:
git
Diff lebih fungsional daripada unix standardiff
. Saya sering ingin melakukan ini dan karena pertanyaan ini mendapat peringkat tinggi di google, saya ingin jawaban ini muncul.Pertanyaan ini: Bagaimana cara menggunakan di
git diff --color-words
luar repositori Git?Menunjukkan bagaimana menggunakan git untuk menyebarkan berkas yang setidaknya salah satunya tidak ada dalam repositori dengan menggunakan
--no-index
:Tidak masalah mana yang dilacak oleh git dan mana yang tidak - salah satu atau keduanya tidak dapat dilacak, misalnya:
Warnanya tidak bisa ditampilkan di sini jadi saya memisahkan perubahan dengan pipa di contoh.
sumber
.bashrc
file Anda (atau apa pun yang Anda gunakan):alias diff="git diff --no-index"
diff -u
akan memberikan keluaran konteks terpadu yang mirip dengan git's diff.
sumber
git diff --word-diff
).Cukup gunakan perintah diff:
sumber