Git 中的短状态是什么?
git status 命令返回当前状态 -
工作区域
集结区
此命令返回跟踪和未跟踪的文件以及对存储库所做的更改。但是,此命令不显示任何提交记录或信息。此命令通常返回一个状态消息,表示以下状态之一 -
没有提交历史
未跟踪的文件
待提交的更改
清洁工作树
修改过的文件
删除的文件
使用git status命令的语法如下 -
$ git status
下面是上述命令输出的屏幕截图。输出表明文件已被修改。
dell@DESKTOP-N961NR5 MINGW64 /e/tut_repo (master)$ git status
On branch master
Changes not staged for commit:
(use "git add <file>… " to update what will be committed)
(use "git restore <file>… " to discard changes in working directory)
modified: file1.txt
上面显示的输出是详细和描述性的。有时我们可能不想要详细的输出。该--short或-s标志应该可以提供给git的状态命令来获取短格式的输出。
下面给出了以短格式检索状态的语法 -
$ git status −−short$ git status −s
每条路径的简短状态显示为以下之一 -
XY PATHOR
XY ORIG_PATH −>PATH
仅当进行了一些重命名或复制操作时,才会以第二种形式返回状态。ORIG_PATH 表示重命名或复制的内容来自的实际位置。XY 是两个字母的状态代码,其中 X 表示暂存区中文件的状态,Y 表示工作目录中文件的状态。下表列出了 X 和 Y 的可能值。
指标 | 解释 |
---|---|
‘ ’ | 未修改 |
M | 修改的 |
A | 添加 |
D | 已删除 |
R | 重命名 |
C | 已复制 |
U | 已更新但未合并 |
根据每个区域中文件的状态,上述指示符可以有多种组合。状态码,?? , 表示未跟踪的文件。
让我们通过以下示例来理解这一点。
示例 1
创建两个文件“file1.txt”和“file2.txt”,并在这些文件中添加一些内容。
$ echo hello >file1.txt$ echo hello again >file2.txt
使用短状态格式查看状态 -
$ git status −s
以下屏幕截图 ( ?? ) 中的输出表明文件未被跟踪。
aparna. nair@DESKTOP-6EFOVU8 MING64 ~/myrepo (master)$ git status -s
?? file1.txt
?? file2.txt
现在让我们将这些文件添加到暂存区并验证状态。
$ git add file1.txt$ git add file2.txt
$ git status -s
输出(A)表示文件已添加到暂存区。请注意,指示器 A 左对齐,因此表示暂存区的状态。
aparna. nair@DESKTOP-6EFOVU8 MING64 ~/myrepo (master)$ git status -s
A file1.txt
A file2.txt
让我们修改工作树中的文件并验证状态。
$ echo new content for file1>>file1.txt$ echo new content for file2>>file2.txt
$ git status −s
输出(AM)表明暂存区和工作树中文件的内容不同。这意味着文件的内容已在工作树中修改,但对文件的更改并未暂存。
aparna. nair@DESKTOP-6EFOVU8 MING64 ~/myrepo (master)$ git status -s
AM file1.txt
AM file2.txt
现在让我们提交更改并观察状态。
$ git add file1.txt$ git add file2.txt
$ git commit −m ‘changes committed’
空白输出表示工作目录是干净的。
aparna. nair@DESKTOP−6EFOVU8 MING64 ~/myrepo (master)$ git status −s
aparna. nair@DESKTOP−6EFOVU8 MING64 ~/myrepo (master)
$
示例 2
创建一个文件“test.txt”并向其中添加一些内容。暂存并将文件提交到存储库。
$ echo hello >test.txt // 创建一个包含一些内容的文件$ git addtest.txt// 暂存文件
$ git commit −m ‘saved to repo’ // commit to the repository
使用 Linux mv 命令重命名文件并验证状态。
$ mvtest.txttest.python$ git status -s
输出表明“test.txt”文件已从工作树中删除,新文件“test.python”未被跟踪。
aparna.nair@DESKTOP-6EFOVUB MINGW64 ~/myrepo (master)$ git status -s
D test. txt
?? test. python
让我们暂存这些文件并验证状态。
$ git add test.txt$ git add test.python
$ git status -s
输出(R)表示重命名操作。表示将暂存区中的文件从“test.txt”重命名为“test.python”。
aparna. nair@DESKTOP-6EHOVUB MINGW64 ~/myrepo (master)$ git status − s
R test. txt −> test. python
以上是 Git 中的短状态是什么? 的全部内容, 来源链接: utcz.com/z/357742.html