git log A B
, her ikisi de A
ve B
öğelerinin geçmişini gösterir (temel olarak her işlemin geçmişinin birleşim kümesini oluşturur). Genellikle git log A..B
, git log ^B A
olarak da yazılabilir (A'dan ulaşılabilir olan her şeyi gösterebilir, ancak (^
) B). Bu aralık da boş olabilir (örneğin B
adresinden erişilebilen her kaynağa da A
'dan erişilebildiği için B..A
boş olur). Bu nedenle, "yanlış" bağımsız değişkenlerle kullanıldığında git log
'dan da çıktı almazsınız.
git show
çok yönlü bir komuttur ve bağımsız değişkenlerine bağlı olarak farklı çıktılar üretir. Bir veya birkaç taahhütte bulunabilirsiniz ve size taahhüt bilgisini gösterecektir (yazarlık, zaman damgası, taahhüt mesajı, önceki taahhütten fark). a..d
gibi taahhüt aralıkları çözülecek ve her bir taahhüt ayrı ayrı gösterilecektir. Bir yolu da geçirebilirsiniz ve git show
dosya içeriğini size gösterecektir. Ayrıca, commit:path/to/file
sözdizimi ile belirli bir revizyonda bir dosya da belirtebilirsiniz. Bir dizini geçirirseniz, git show
bu dizini değiştiren son işlemin taahhüt bilgilerini görüntüler. Genel olarak iki ağaç veya iki dosyayı karşılaştırmak üzere bekler. (Ayrıca argüman alamaz ve dizin/aşama alanını karşılaştırır). Bir taahhüt, karşılık gelen ağacına (bir ağaç nesnesi, deponun belirli bir durumunu açıklar) otomatik olarak paketlenmemiş olur. sözdizimi A..B
sessizce fark vaka için A B
çözümlenir ve B
A...B
demektir aralığı ağacın A
/taahhüt almak için gerekli değişiklikleri gösterir "Her A veya B den ulaşılabilir işlemek, ancak ikisini dan". git log
kullanıldığında
- size bu teslimleri gösterecektir ve ayrılmış bir dalları ile kullanıldığında çoğunlukla sadece mantıklı, yani "göstermek ikisi arasında farklı olduğunu her, ama her iki şube ortak olan bu teslimleri gizlemek".
git diff
için bu sözdizimi ayrıldığı A
tarihinin beri B
değişiklikler, yani" git diff $(git merge-base A B) B
için sözdizimsel şeker olduğunu. Bu aralıktaki taahhüt sadece her bir ilgili bilgileri işlemek alacak git show
ile
- .
Bir şey hala net değilse, yorumlarda bana bildirin.
$ git init
Initialized empty Git repository in ...
$ cd SO
$ ls
$ echo a > a
$ git add a
$ git commit
[master (root-commit) 7b66fe5] initial commit
1 file changed, 1 insertion(+)
create mode 100644 a
$ git tag a
$ echo b >> a
$ echo b > b
$ git add a b
$ git commit
[master ee884fe] commit b
2 files changed, 2 insertions(+)
create mode 100644 b
$ git tag b
$ echo c >> a
$ echo c >> b
$ echo c > c
$ git add a b c
$ git commit
[master 8abaaff] commit c
3 files changed, 3 insertions(+)
create mode 100644 c
$ git tag c
$ echo d >> a
$ echo d > b
$ git add a b
$ git commit
[master 08adc85] commit d
2 files changed, 2 insertions(+), 2 deletions(-)
$ git tag d
$ git log -p b d --
commit 08adc8512e63588e6f01533b2a0f762342521b05
Author: ...
Date: Mon Sep 1 17:22:06 2014 +0200
commit d
diff --git a/a b/a
index de98044..d68dd40 100644
--- a/a
+++ b/a
@@ -1,3 +1,4 @@
a
b
c
+d
diff --git a/b b/b
index 9ddeb5c..4bcfe98 100644
--- a/b
+++ b/b
@@ -1,2 +1 @@
-b
-c
+d
commit 8abaaff681be0bcaa16c946feb2989959348c9f4
Author: ...
Date: Mon Sep 1 17:21:40 2014 +0200
commit c
diff --git a/a b/a
index 422c2b7..de98044 100644
--- a/a
+++ b/a
@@ -1,2 +1,3 @@
a
b
+c
diff --git a/b b/b
index 6178079..9ddeb5c 100644
--- a/b
+++ b/b
@@ -1 +1,2 @@
b
+c
diff --git a/c b/c
new file mode 100644
index 0000000..f2ad6c7
--- /dev/null
+++ b/c
@@ -0,0 +1 @@
+c
commit ee884fea5d0266280845348175ac0af5083a9bbf
Author: ...
Date: Mon Sep 1 17:21:05 2014 +0200
commit b
diff --git a/a b/a
index 7898192..422c2b7 100644
--- a/a
+++ b/a
@@ -1 +1,2 @@
a
+b
diff --git a/b b/b
new file mode 100644
index 0000000..6178079
--- /dev/null
+++ b/b
@@ -0,0 +1 @@
+b
commit 7b66fe5999039c53ffbe5a5ffe07c13a5c213455
Author: ...
Date: Mon Sep 1 17:20:39 2014 +0200
initial commit
diff --git a/a b/a
new file mode 100644
index 0000000..7898192
--- /dev/null
+++ b/a
@@ -0,0 +1 @@
+a
$ git show b d --
commit ee884fea5d0266280845348175ac0af5083a9bbf
Author: ...
Date: Mon Sep 1 17:21:05 2014 +0200
commit b
diff --git a/a b/a
index 7898192..422c2b7 100644
--- a/a
+++ b/a
@@ -1 +1,2 @@
a
+b
diff --git a/b b/b
new file mode 100644
index 0000000..6178079
--- /dev/null
+++ b/b
@@ -0,0 +1 @@
+b
commit 08adc8512e63588e6f01533b2a0f762342521b05
Author: ...
Date: Mon Sep 1 17:22:06 2014 +0200
commit d
diff --git a/a b/a
index de98044..d68dd40 100644
--- a/a
+++ b/a
@@ -1,3 +1,4 @@
a
b
c
+d
diff --git a/b b/b
index 9ddeb5c..4bcfe98 100644
--- a/b
+++ b/b
@@ -1,2 +1 @@
-b
-c
+d
$ git diff b d --
diff --git a/a b/a
index 422c2b7..d68dd40 100644
--- a/a
+++ b/a
@@ -1,2 +1,4 @@
a
b
+c
+d
diff --git a/b b/b
index 6178079..4bcfe98 100644
--- a/b
+++ b/b
@@ -1 +1 @@
-b
+d
diff --git a/c b/c
new file mode 100644
index 0000000..f2ad6c7
--- /dev/null
+++ b/c
@@ -0,0 +1 @@
+c
$ git log -p d b --
commit 08adc8512e63588e6f01533b2a0f762342521b05
Author: ...
Date: Mon Sep 1 17:22:06 2014 +0200
commit d
diff --git a/a b/a
index de98044..d68dd40 100644
--- a/a
+++ b/a
@@ -1,3 +1,4 @@
a
b
c
+d
diff --git a/b b/b
index 9ddeb5c..4bcfe98 100644
--- a/b
+++ b/b
@@ -1,2 +1 @@
-b
-c
+d
commit 8abaaff681be0bcaa16c946feb2989959348c9f4
Author: ...
Date: Mon Sep 1 17:21:40 2014 +0200
commit c
diff --git a/a b/a
index 422c2b7..de98044 100644
--- a/a
+++ b/a
@@ -1,2 +1,3 @@
a
b
+c
diff --git a/b b/b
index 6178079..9ddeb5c 100644
--- a/b
+++ b/b
@@ -1 +1,2 @@
b
+c
diff --git a/c b/c
new file mode 100644
index 0000000..f2ad6c7
--- /dev/null
+++ b/c
@@ -0,0 +1 @@
+c
commit ee884fea5d0266280845348175ac0af5083a9bbf
Author: ...
Date: Mon Sep 1 17:21:05 2014 +0200
commit b
diff --git a/a b/a
index 7898192..422c2b7 100644
--- a/a
+++ b/a
@@ -1 +1,2 @@
a
+b
diff --git a/b b/b
new file mode 100644
index 0000000..6178079
--- /dev/null
+++ b/b
@@ -0,0 +1 @@
+b
commit 7b66fe5999039c53ffbe5a5ffe07c13a5c213455
Author: ...
Date: Mon Sep 1 17:20:39 2014 +0200
initial commit
diff --git a/a b/a
new file mode 100644
index 0000000..7898192
--- /dev/null
+++ b/a
@@ -0,0 +1 @@
+a
$ git show d b --
commit 08adc8512e63588e6f01533b2a0f762342521b05
Author: ...
Date: Mon Sep 1 17:22:06 2014 +0200
commit d
diff --git a/a b/a
index de98044..d68dd40 100644
--- a/a
+++ b/a
@@ -1,3 +1,4 @@
a
b
c
+d
diff --git a/b b/b
index 9ddeb5c..4bcfe98 100644
--- a/b
+++ b/b
@@ -1,2 +1 @@
-b
-c
+d
commit ee884fea5d0266280845348175ac0af5083a9bbf
Author: ...
Date: Mon Sep 1 17:21:05 2014 +0200
commit b
diff --git a/a b/a
index 7898192..422c2b7 100644
--- a/a
+++ b/a
@@ -1 +1,2 @@
a
+b
diff --git a/b b/b
new file mode 100644
index 0000000..6178079
--- /dev/null
+++ b/b
@@ -0,0 +1 @@
+b
$ git diff d b --
diff --git a/a b/a
index d68dd40..422c2b7 100644
--- a/a
+++ b/a
@@ -1,4 +1,2 @@
a
b
-c
-d
diff --git a/b b/b
index 4bcfe98..6178079 100644
--- a/b
+++ b/b
@@ -1 +1 @@
-d
+b
diff --git a/c b/c
deleted file mode 100644
index f2ad6c7..0000000
--- a/c
+++ /dev/null
@@ -1 +0,0 @@
-c
$ git log -p b..d --
commit 08adc8512e63588e6f01533b2a0f762342521b05
Author: ...
Date: Mon Sep 1 17:22:06 2014 +0200
commit d
diff --git a/a b/a
index de98044..d68dd40 100644
--- a/a
+++ b/a
@@ -1,3 +1,4 @@
a
b
c
+d
diff --git a/b b/b
index 9ddeb5c..4bcfe98 100644
--- a/b
+++ b/b
@@ -1,2 +1 @@
-b
-c
+d
commit 8abaaff681be0bcaa16c946feb2989959348c9f4
Author: ...
Date: Mon Sep 1 17:21:40 2014 +0200
commit c
diff --git a/a b/a
index 422c2b7..de98044 100644
--- a/a
+++ b/a
@@ -1,2 +1,3 @@
a
b
+c
diff --git a/b b/b
index 6178079..9ddeb5c 100644
--- a/b
+++ b/b
@@ -1 +1,2 @@
b
+c
diff --git a/c b/c
new file mode 100644
index 0000000..f2ad6c7
--- /dev/null
+++ b/c
@@ -0,0 +1 @@
+c
$ git show b..d --
commit 08adc8512e63588e6f01533b2a0f762342521b05
Author: ...
Date: Mon Sep 1 17:22:06 2014 +0200
commit d
diff --git a/a b/a
index de98044..d68dd40 100644
--- a/a
+++ b/a
@@ -1,3 +1,4 @@
a
b
c
+d
diff --git a/b b/b
index 9ddeb5c..4bcfe98 100644
--- a/b
+++ b/b
@@ -1,2 +1 @@
-b
-c
+d
commit 8abaaff681be0bcaa16c946feb2989959348c9f4
Author: ...
Date: Mon Sep 1 17:21:40 2014 +0200
commit c
diff --git a/a b/a
index 422c2b7..de98044 100644
--- a/a
+++ b/a
@@ -1,2 +1,3 @@
a
b
+c
diff --git a/b b/b
index 6178079..9ddeb5c 100644
--- a/b
+++ b/b
@@ -1 +1,2 @@
b
+c
diff --git a/c b/c
new file mode 100644
index 0000000..f2ad6c7
--- /dev/null
+++ b/c
@@ -0,0 +1 @@
+c
$ git diff b..d --
diff --git a/a b/a
index 422c2b7..d68dd40 100644
--- a/a
+++ b/a
@@ -1,2 +1,4 @@
a
b
+c
+d
diff --git a/b b/b
index 6178079..4bcfe98 100644
--- a/b
+++ b/b
@@ -1 +1 @@
-b
+d
diff --git a/c b/c
new file mode 100644
index 0000000..f2ad6c7
--- /dev/null
+++ b/c
@@ -0,0 +1 @@
+c
$ git log -p d..b --
$ git show d..b --
$ git diff d..b --
diff --git a/a b/a
index d68dd40..422c2b7 100644
--- a/a
+++ b/a
@@ -1,4 +1,2 @@
a
b
-c
-d
diff --git a/b b/b
index 4bcfe98..6178079 100644
--- a/b
+++ b/b
@@ -1 +1 @@
-d
+b
diff --git a/c b/c
deleted file mode 100644
index f2ad6c7..0000000
--- a/c
+++ /dev/null
@@ -1 +0,0 @@
-c
$ git log -p b...d --
commit 08adc8512e63588e6f01533b2a0f762342521b05
Author: ...
Date: Mon Sep 1 17:22:06 2014 +0200
commit d
diff --git a/a b/a
index de98044..d68dd40 100644
--- a/a
+++ b/a
@@ -1,3 +1,4 @@
a
b
c
+d
diff --git a/b b/b
index 9ddeb5c..4bcfe98 100644
--- a/b
+++ b/b
@@ -1,2 +1 @@
-b
-c
+d
commit 8abaaff681be0bcaa16c946feb2989959348c9f4
Author: ...
Date: Mon Sep 1 17:21:40 2014 +0200
commit c
diff --git a/a b/a
index 422c2b7..de98044 100644
--- a/a
+++ b/a
@@ -1,2 +1,3 @@
a
b
+c
diff --git a/b b/b
index 6178079..9ddeb5c 100644
--- a/b
+++ b/b
@@ -1 +1,2 @@
b
+c
diff --git a/c b/c
new file mode 100644
index 0000000..f2ad6c7
--- /dev/null
+++ b/c
@@ -0,0 +1 @@
+c
$ git show b...d --
commit 08adc8512e63588e6f01533b2a0f762342521b05
Author: ...
Date: Mon Sep 1 17:22:06 2014 +0200
commit d
diff --git a/a b/a
index de98044..d68dd40 100644
--- a/a
+++ b/a
@@ -1,3 +1,4 @@
a
b
c
+d
diff --git a/b b/b
index 9ddeb5c..4bcfe98 100644
--- a/b
+++ b/b
@@ -1,2 +1 @@
-b
-c
+d
commit 8abaaff681be0bcaa16c946feb2989959348c9f4
Author: ...
Date: Mon Sep 1 17:21:40 2014 +0200
commit c
diff --git a/a b/a
index 422c2b7..de98044 100644
--- a/a
+++ b/a
@@ -1,2 +1,3 @@
a
b
+c
diff --git a/b b/b
index 6178079..9ddeb5c 100644
--- a/b
+++ b/b
@@ -1 +1,2 @@
b
+c
diff --git a/c b/c
new file mode 100644
index 0000000..f2ad6c7
--- /dev/null
+++ b/c
@@ -0,0 +1 @@
+c
$ git diff b...d --
diff --git a/a b/a
index 422c2b7..d68dd40 100644
--- a/a
+++ b/a
@@ -1,2 +1,4 @@
a
b
+c
+d
diff --git a/b b/b
index 6178079..4bcfe98 100644
--- a/b
+++ b/b
@@ -1 +1 @@
-b
+d
diff --git a/c b/c
new file mode 100644
index 0000000..f2ad6c7
--- /dev/null
+++ b/c
@@ -0,0 +1 @@
+c
$ git log -p d...b --
commit 08adc8512e63588e6f01533b2a0f762342521b05
Author: ...
Date: Mon Sep 1 17:22:06 2014 +0200
commit d
diff --git a/a b/a
index de98044..d68dd40 100644
--- a/a
+++ b/a
@@ -1,3 +1,4 @@
a
b
c
+d
diff --git a/b b/b
index 9ddeb5c..4bcfe98 100644
--- a/b
+++ b/b
@@ -1,2 +1 @@
-b
-c
+d
commit 8abaaff681be0bcaa16c946feb2989959348c9f4
Author: ...
Date: Mon Sep 1 17:21:40 2014 +0200
commit c
diff --git a/a b/a
index 422c2b7..de98044 100644
--- a/a
+++ b/a
@@ -1,2 +1,3 @@
a
b
+c
diff --git a/b b/b
index 6178079..9ddeb5c 100644
--- a/b
+++ b/b
@@ -1 +1,2 @@
b
+c
diff --git a/c b/c
new file mode 100644
index 0000000..f2ad6c7
--- /dev/null
+++ b/c
@@ -0,0 +1 @@
+c
$ git show d...b --
commit 08adc8512e63588e6f01533b2a0f762342521b05
Author: ...
Date: Mon Sep 1 17:22:06 2014 +0200
commit d
diff --git a/a b/a
index de98044..d68dd40 100644
--- a/a
+++ b/a
@@ -1,3 +1,4 @@
a
b
c
+d
diff --git a/b b/b
index 9ddeb5c..4bcfe98 100644
--- a/b
+++ b/b
@@ -1,2 +1 @@
-b
-c
+d
commit 8abaaff681be0bcaa16c946feb2989959348c9f4
Author: ...
Date: Mon Sep 1 17:21:40 2014 +0200
commit c
diff --git a/a b/a
index 422c2b7..de98044 100644
--- a/a
+++ b/a
@@ -1,2 +1,3 @@
a
b
+c
diff --git a/b b/b
index 6178079..9ddeb5c 100644
--- a/b
+++ b/b
@@ -1 +1,2 @@
b
+c
diff --git a/c b/c
new file mode 100644
index 0000000..f2ad6c7
--- /dev/null
+++ b/c
@@ -0,0 +1 @@
+c
$ git diff d...b --
$
Birden terminali pencereleri açtı ve tüm komutları koştu ama mantıklı hiçbir genelleme çizemezdi:
Burada çıkış orijinal soruya gönderilmiş depo bulunuyor. Birkaç günlüğüne kendi kendime anlamaya çalıştıktan sonra ve google-fu'mda hiç şans bulamadıktan sonra, bir şeyi kaçırmam gerektiğini düşündüm, bu yüzden burada bir soru yayınladım. –
Bkz. [Gitrevisions belgeleri] (https://www.kernel.org/pub/software/scm/git/docs/gitrevisions.html). Grafik teorisi hakkında bir şey biliyorsanız, çok yardımcı olmalı; eğer değilse, oldukça opak olabilir. Ayrıca, kernel.org sayfalarının (bağlantı kurduğum) sayfaları çıktığı anlaşılıyor ... – torek
@torek Mükemmel referans için teşekkürler. Gitmek istediğimi bilmeden dışarı çıksın, ama gitgide daha çok başlangıçtaki kaynakların detaylarıyla ilgili bir açıklama yaparak başladığına inanıyorum çünkü% 100 eminim kendimi günlük olarak ne yapacağımı biliyorum. Git ile etkileşimlerim olsa da, şu anda birkaç kez temelden geçtim. –