了解项目状态
约 1035 字大约 3 分钟
2025-09-08
git status
当你忘记某个文件是否已经修改,是否提交到仓库的时候,就可以使用 git status 命令来查看。
它帮助我们了解当前工作目录中文件的更改情况,包括哪些文件被修改、新增或删除,以及这些更改是否已提交到版本库。
直接在命令行中输入;
git status此命令会返回当前工作目录的状态,包括未跟踪的文件、修改后的文件以及新创建的文件。同时,它还会显示当前 branch 的状态信息,如分支名称、最后一次提交的 commit 信息等。
如果你想查看特定文件的状态,可以使用 git status -a 命令,它会显示所有文件的状态,包括那些在 Git 仓库中但已经删除的文件。
git status 的优点在于它能够快速展示当前目录的状态,让我们时刻把握项目的进展。然而,它也有一些局限性。例如,它只能显示当前目录的状态,无法跨多个子目录分析代码状态。为了解决这个问题,我们可以使用 git status -u 命令,它会显示所有子目录的状态。
例如修改了一个 readme.txt 文件,使用命令后:
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: readme.txt
no changes added to commit (use "git add" and/or "git commit -a")On branch master 表示我们当前所在的分支是 master 分支。
下面的 Changes not staged for commit: 告诉我们工作目录中有一些更改尚未提交。Git 将要被提交的更改称为 "staged"。在这种情况下,Git 提醒你需要使用 git add 来 "添加" 更改,以便它们被包含在下一次提交中。
modified: readme.txt 表示 "readme.txt" 文件已经被修改。修改意味着我们对这个文件进行了修改,但是这些修改尚未被 "添加" 到暂存区。
no changes added to commit (use "git add" and/or "git commit -a") 是提示我们还没有把修改添加到下一次提交中。如果我们想把这些修改包含在下次提交中,我们需要使用 git add 命令。如果我们想忽略这些未添加的更改,我们可以使用 git checkout -- readme.txt 来丢弃工作目录中的更改。
git diff
只是用 git status 只能看文件是否有改动,但是不能看到文件具体改动了哪些,一旦你忘记了修改了什么地方,也就不敢随便乱动,这个时候就可以使用 git diff 命令查看当前工作目录中所有未提交的更改。
如果我们需要查看特定文件的变化,可以使用 git diff <文件名>。
git diff --cached 命令则显示已暂存但对尚未提交到版本库的更改。
例如修改了一个 example.txt 文件后,使用 git diff 命令来查看:
diff --git a/example.txt b/example.txt index 843a555..45aff21 100644
--- a/example.txt
+++ b/example.txt
@@ -1,3 +1,4 @@
Line 1: The same as the original version. Line 2: Added a new line.
Line 3: This line has been modified.
+Line 4: Another new line.diff --git a/example.txt b/example.txt:这行告诉我们在 a/example.txt 和 b/example.txt 之间进行了比较。
index 843a555..45aff21 100644:这行展示了索引信息,它描述了文件在 Git 版本库中的状态。在这个例子中,843a555 和 45aff21 是文件的两个不同的版本标识,100644 是文件的权限模式。
--- a/example.txt 和 +++ b/example.txt:这两行分别表示被比较的两个文件。在这个例子中,a/example.txt 是原始文件,b/example.txt 是修改后的文件。
@@ -1,3 +1,4 @@:这行表示差异比较的行范围。在这个例子中,原始文件的前3行与修改后的文件的前3行是相同的,而修改后的文件新增了一行。
最后面列出了文件的每一行及其状态。"+" 表示新增的行,"%" 表示没有改变的行,"-" 表示被删除的行。
更新日志
2f6f6-增加git内容以及图标于
