我正在审查一个非常旧的提交.我希望看到特定提交所做的更改,但我想在完整的上下文中看到它,即我想查看整个文件以及该人所做的更改.以下命令,
git show -w <commit-id>
Run Code Online (Sandbox Code Playgroud)
没有向我展示完整的背景.有什么建议吗?
git-show
带有以下标志
-U<n>, --unified=<n>
Generate diffs with <n> lines of context instead of the usual
three. Implies -p.
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请参见git-show
手册页.通过指定足够大<n>
,例如
git show -U1000 <object>
Run Code Online (Sandbox Code Playgroud)
你会得到完整的背景.
为了这个例子克隆了一些存储库(例如Git项目的repo):
$ git clone https://github.com/git/git
$ cd git
Run Code Online (Sandbox Code Playgroud)
尝试在某个已提交的文件上运行有问题的命令(例如Documentation/RelNotes/2.3.0.txt
):
$ git show -U100 -- Documentation/RelNotes/2.3.0.txt
commit 1e6f5b22ad318446500fbd3b94b733eddd5b6414
Author: Junio C Hamano <gitster@pobox.com>
Date: Wed Jan 7 13:12:54 2015 -0800
Fourth batch for 2.3 cycle
Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff --git a/Documentation/RelNotes/2.3.0.txt b/Documentation/RelNotes/2.3.0.txt
index 1b1dcbb..7f25bbf 100644
--- a/Documentation/RelNotes/2.3.0.txt
+++ b/Documentation/RelNotes/2.3.0.txt
@@ -1,165 +1,247 @@
Git v2.3 Release Notes
======================
Updates since v2.2
------------------
Ports
* Recent gcc toolchain on Cygwin started throwing compilation warning,
which has been squelched.
UI, Workflows & Features
* It was cumbersome to use "GIT_SSH" mechanism when the user wanted
to pass an extra set of arguments to the underlying ssh. A new
environment variable GIT_SSH_COMMAND can be used for this.
* A request to store an empty note via "git notes" meant to remove
note from the object but with --allow-empty we will store a
(surprise!) note that is empty.
* "git interpret-trailers" learned to properly handle the
"Conflicts:" block at the end.
* "git am" learned "--message-id" option to copy the message ID of
the incoming e-mail to the log message of resulting commit.
+ * "git clone --reference=<over there>" learned the "--dissociate"
+ option to go with it; it borrows objects from the reference object
+ store while cloning only to reduce network traffic and then
+ dissociates the resulting clone from the reference by performing
+ local copies of borrowed objects.
+
* "git send-email" learned "--transfer-encoding" option to force a
non-fault Content-Transfer-Encoding header (e.g. base64).
...
Run Code Online (Sandbox Code Playgroud)
将该命令的输出与内容进行比较Documentation/RelNotes/2.3.0.txt
.
$ cat Documentation/RelNotes/2.3.0.txt
Git v2.3 Release Notes
======================
Updates since v2.2
------------------
Ports
* Recent gcc toolchain on Cygwin started throwing compilation warning,
which has been squelched.
UI, Workflows & Features
* It was cumbersome to use "GIT_SSH" mechanism when the user wanted
to pass an extra set of arguments to the underlying ssh. A new
environment variable GIT_SSH_COMMAND can be used for this.
* A request to store an empty note via "git notes" meant to remove
note from the object but with --allow-empty we will store a
(surprise!) note that is empty.
* "git interpret-trailers" learned to properly handle the
"Conflicts:" block at the end.
* "git am" learned "--message-id" option to copy the message ID of
the incoming e-mail to the log message of resulting commit.
* "git clone --reference=<over there>" learned the "--dissociate"
option to go with it; it borrows objects from the reference object
store while cloning only to reduce network traffic and then
dissociates the resulting clone from the reference by performing
local copies of borrowed objects.
* "git send-email" learned "--transfer-encoding" option to force a
non-fault Content-Transfer-Encoding header (e.g. base64).
* "git send-email" normally identifies itself via X-Mailer: header in
the message it sends out. A new command line flag --no-xmailer
allows the user to squelch the header.
* "git push" into a repository with a working tree normally refuses
to modify the branch that is checked out. The command learned to
optionally do an equivalent of "git reset --hard" only when there
is no change to the working tree and the index instead, which would
be useful to "deploy" by pushing into a repository.
* "git new-workdir" (in contrib/) can be used to populate an empty
and existing directory now.
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1013 次 |
最近记录: |