📅  最后修改于: 2023-12-03 14:55:12.487000             🧑  作者: Mango
在进行代码开发时,我们常常需要了解当前代码库中的更改情况,以及查看某次提交的具体内容,以便我们进行代码调试和修改等工作。而Git Bash是一个十分强大的命令行工具,为我们提供了丰富的操作命令。
我们可以使用git log
命令来查看代码库的提交日志,包括提交者、提交时间、提交信息等等。
$ git log
默认情况下,git log
显示的是最新的提交信息,其中包括SHA-1哈希值、作者、日期、提交信息。我们也可以通过加入参数来控制输出的信息,比如:
$ git log --pretty=oneline # 只显示SHA-1哈希值和提交信息
$ git log --graph # 显示提交图谱
$ git log --since="2 weeks ago" # 显示最近2周以来的提交记录
这些输出控制的参数能够大大方便我们的开发和调试工作。
当我们需要了解某次提交具体更改时,我们可以使用git diff
命令来查看对应的修改内容。
$ git diff [commit-hash]
其中commit-hash
是某次提交的哈希值,可以在git log
输出中找到。git diff
命令的输出包含修改的文件名、被修改的内容以及修改后的内容,具体格式如下:
diff --git a/file.txt b/file.txt
index c4d0f03..990d4ef 100644
--- a/file.txt
+++ b/file.txt
@@ -1,3 +1,4 @@
This is the original content of file.txt.
+Added new line.
Let's modify this file by adding a new line.
It's time to commit these changes.
输出结果中,@@ -1,3 +1,4 @@
表示修改的位置信息,-1,3
表示在原文件中从第1行开始,连续3行代码进行修改,+1,4
表示在修改之后的文件中从第1行开始,连续4行代码是修改后的内容。这种输出格式虽然有些抽象,但对于理解代码变更情况非常有用。
git show
命令是一个方便的工具,其能够一次性输出某个提交的所有修改。
$ git show [commit-hash]
与git diff
命令不同的是,git show
命令的输出格式更清晰,能够包含提交信息、修改内容、作者以及时间等等。
commit ad91ae8da63183a8162a106bc54fdb1fe0007d8b (HEAD -> master)
Author: John Doe <john@example.com>
Date: Fri Jun 25 15:57:38 2020 +0800
Added new line.
diff --git a/file.txt b/file.txt
index c4d0f03..990d4ef 100644
--- a/file.txt
+++ b/file.txt
@@ -1,3 +1,4 @@
This is the original content of file.txt.
+Added new line.
Let's modify this file by adding a new line.
It's time to commit these changes.
Git Bash提供了许多方便的命令来帮助我们了解代码变更情况,包括git log
、git diff
以及git show
等。程序员们可以结合这些命令,方便地进行代码开发和调试工作。