2015-06-20 89 views
1
$ git log --oneline 
05f1c3b master: Modified 1.txt 
f7433e0 Updated by master 
e30dff9 Modified 1.txt 
82ebf7a Modified 1.txt 
cbb2785 master: Added 4.txt after rebase branch was created 
980a5d6 b1: Added 1.txt 
badc046 Resolved merge conflict 
47a2d78 Mods by b2 
c3eb61e Added by b1 
9378e3d 1ST commit 

下面显示了什么:'git log^X'应该显示什么?

$ git log ^47a2d78 

我认为应该显示所有从badc046了承诺,因为这些都不是从47a2d78到达。

我错过了什么?

回答

4

^hash是指“排除是从(即祖先)可达提交。”

因此:

git log ^47a2d78 

转化为 “显示日志所有提交排除的哈希47a2d78”。这与任何提交都不匹配。如果你想显示47a2d78毕竟提交您必须使用log ^47a2d78 HEAD,或者更容易:

git log 47a2d78..HEAD 
+0

提示通常的链接到“积极参考”和“负面参考”(http ://stackoverflow.com/a/850695/6309)和修订列表(http://stackoverflow.com/a/53573/6309)。 +1 – VonC

+0

现在你确认它没有任何回报,我意识到我误解了这种行为,或者更确切地说git会“理解我的想法”。根据否定法则,我认为git可以暗示我想看到从47a2d78不可达的提交。显然,这是不可能的,因为我没有具体说明。 – Ltf4an

0

如果你想有一个日志在一定范围内提交的,你可以这样做:

git log HEAD...47a2d78 
+0

'^ hash'表示“不从哈希可达”。 'hash ^'的意思是“散列的父亲” – knittl

+0

我知道,但在这种情况下,它意味着什么 –

+0

我删除了解释,因为它是特定于git日志 –

相关问题