# 执行`git status`命令
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git status
# 在主分支上工作
On branch master
# 尚无提交文件,指的是本地库中没有提交过任何文件。
No commits yet
# 无需提交(可创建/复制文件并使用“git add”进行跟踪)
# 无需提交指的是,暂存区中没有任何可提交的文件
# 追踪文件,就是让Git管理该文件。
nothing to commit (create/copy files and use "git add" to track)
(3)把文件添加到暂存区
1)创建文件后查看工作区、暂存区中文件的状态。
我们在仓库目录中创建一个readme.txt文件后,在执行git status命令。
# 创建readme.txt文件
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ touch readme.txt
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ ll
total 0
-rw-r--r-- 1 L 197121 0 4月 4 00:38 readme.txt
# 查看工作区、暂存区状态
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git status
On branch master
# 尚无提交文件,指的是本地库中没有提交过任何文件。
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
readme.txt # 文件名为红色
nothing added to commit but untracked files present (use "git add" to track)
说明:
Untracked files:readme.txt
表示发现未追踪的文件readme.txt
use "git add <file>..." to include in what will be committed
表示对readme.txt文件,你可以使用git add <file>命令,
将新建文件添加到暂存区。
nothing added to commit but untracked files present (use "git add" to track)
表示你没有添加任何内容到暂存区,但是存在未追踪的文件,
可使用“git add”命令进行追踪。
2)将工作区的文件添加到暂存区。
执行git add命令,将readme.txt文件添加到暂存区。
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git add readme.txt
warning: LF will be replaced by CRLF in readme.txt.
The file will have its original line endings in your working directory
说明:
warning: LF will be replaced by CRLF in readme.txt.
The file will have its original line endings in your working directory
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: readme.txt # 文件名为绿色
说明:
Changes to be committed: new file: readme.txt
所做更改:新建了readme.txt文件
use "git rm --cached <file>..." to unstage
提示你可以适用使“git rm --cached <file> ...”命令,
把文件从暂存区中撤回到工作区。
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git rm --cached readme.txt
rm 'readme.txt'
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git status
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
readme.txt # 文件名为红色
nothing added to commit but untracked files present (use "git add" to track)
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git add readme.txt
warning: LF will be replaced by CRLF in readme.txt.
The file will have its original line endings in your working directory
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git commit readme.txt -m 'My first commit.new file readme.txt'
warning: LF will be replaced by CRLF in readme.txt.
The file will have its original line endings in your working directory
[master (root-commit) e84b93b] My first commit.new file readme.txt
1 file changed, 1 insertion(+)
create mode 100644 readme.txt
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git status
On branch master
# 暂存区中没有可提交的内容
# 工作目录和本地版本库是一样的,没有修改、新建等操作。
nothing to commit, working tree clean
3)修改文件内容后查看工作区、暂存区状态。
修改readme.txt文件内容后,再执行git status命令查看工作区、暂存区状态。
# 修改文件内容
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ echo "git world" >> readme.txt
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ cat readme.txt
hello git world
git world
# 查看工作区、暂存区状态。
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (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: readme.txt # 文件名为红色
no changes added to commit (use "git add" and/or "git commit -a")
说明:
Changes not staged for commit:modified: readme.txt
readme.txt文件被修改,但是没有添加到暂存区
use "git add <file>..." to update what will be committed
表示对readme.txt文件,你可以使用git add <file>命令,
将文件更新添加到暂存区。
和第(2)步的 use "git add <file>..." to include in what will be committed
是有一点差别的。
use "git restore <file>..." to discard changes in working directory
表示可以通过git restore <file>...命令,放弃工作目录中文件的更改。
就是还原文件。Git早期版本该命令为git checkout --<file>...。
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git add readme.txt
warning: LF will be replaced by CRLF in readme.txt.
The file will have its original line endings in your working directory
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git status
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: readme.txt # 文件名为绿色
说明:
Changes to be committed: modified: readme.txt
readme.txt的修改已被Git追踪到
use "git restore --staged <file>..." to unstage
你可以用git restore --staged <file>...命令,
将文件从暂存区撤出,但不会撤销文件的更改。
5)将修改过后的文件提交到本地版本库。
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git commit readme.txt -m 'modified readme.txt'
warning: LF will be replaced by CRLF in readme.txt.
The file will have its original line endings in your working directory
[master e704334] modified readme.txt
1 file changed, 1 insertion(+)
# 执行`git status`命令
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git status
# 在主分支上工作
On branch master
# 尚无提交文件,指的是本地库中没有提交过任何文件。
No commits yet
# 无需提交(可创建/复制文件并使用“git add”进行跟踪)
# 无需提交指的是,暂存区中没有任何可提交的文件
# 追踪文件,就是让Git管理该文件。
nothing to commit (create/copy files and use "git add" to track)
(3)把文件添加到暂存区
1)创建文件后查看工作区、暂存区中文件的状态。
我们在仓库目录中创建一个readme.txt文件后,在执行git status命令。
# 创建readme.txt文件
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ touch readme.txt
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ ll
total 0
-rw-r--r-- 1 L 197121 0 4月 4 00:38 readme.txt
# 查看工作区、暂存区状态
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git status
On branch master
# 尚无提交文件,指的是本地库中没有提交过任何文件。
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
readme.txt # 文件名为红色
nothing added to commit but untracked files present (use "git add" to track)
说明:
Untracked files:readme.txt
表示发现未追踪的文件readme.txt
use "git add <file>..." to include in what will be committed
表示对readme.txt文件,你可以使用git add <file>命令,
将新建文件添加到暂存区。
nothing added to commit but untracked files present (use "git add" to track)
表示你没有添加任何内容到暂存区,但是存在未追踪的文件,
可使用“git add”命令进行追踪。
2)将工作区的文件添加到暂存区。
执行git add命令,将readme.txt文件添加到暂存区。
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git add readme.txt
warning: LF will be replaced by CRLF in readme.txt.
The file will have its original line endings in your working directory
说明:
warning: LF will be replaced by CRLF in readme.txt.
The file will have its original line endings in your working directory
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: readme.txt # 文件名为绿色
说明:
Changes to be committed: new file: readme.txt
所做更改:新建了readme.txt文件
use "git rm --cached <file>..." to unstage
提示你可以适用使“git rm --cached <file> ...”命令,
把文件从暂存区中撤回到工作区。
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git rm --cached readme.txt
rm 'readme.txt'
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git status
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
readme.txt # 文件名为红色
nothing added to commit but untracked files present (use "git add" to track)
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git add readme.txt
warning: LF will be replaced by CRLF in readme.txt.
The file will have its original line endings in your working directory
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git commit readme.txt -m 'My first commit.new file readme.txt'
warning: LF will be replaced by CRLF in readme.txt.
The file will have its original line endings in your working directory
[master (root-commit) e84b93b] My first commit.new file readme.txt
1 file changed, 1 insertion(+)
create mode 100644 readme.txt
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git status
On branch master
# 暂存区中没有可提交的内容
# 工作目录和本地版本库是一样的,没有修改、新建等操作。
nothing to commit, working tree clean
3)修改文件内容后查看工作区、暂存区状态。
修改readme.txt文件内容后,再执行git status命令查看工作区、暂存区状态。
# 修改文件内容
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ echo "git world" >> readme.txt
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ cat readme.txt
hello git world
git world
# 查看工作区、暂存区状态。
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (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: readme.txt # 文件名为红色
no changes added to commit (use "git add" and/or "git commit -a")
说明:
Changes not staged for commit:modified: readme.txt
readme.txt文件被修改,但是没有添加到暂存区
use "git add <file>..." to update what will be committed
表示对readme.txt文件,你可以使用git add <file>命令,
将文件更新添加到暂存区。
和第(2)步的 use "git add <file>..." to include in what will be committed
是有一点差别的。
use "git restore <file>..." to discard changes in working directory
表示可以通过git restore <file>...命令,放弃工作目录中文件的更改。
就是还原文件。Git早期版本该命令为git checkout --<file>...。
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git add readme.txt
warning: LF will be replaced by CRLF in readme.txt.
The file will have its original line endings in your working directory
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git status
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: readme.txt # 文件名为绿色
说明:
Changes to be committed: modified: readme.txt
readme.txt的修改已被Git追踪到
use "git restore --staged <file>..." to unstage
你可以用git restore --staged <file>...命令,
将文件从暂存区撤出,但不会撤销文件的更改。
5)将修改过后的文件提交到本地版本库。
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git commit readme.txt -m 'modified readme.txt'
warning: LF will be replaced by CRLF in readme.txt.
The file will have its original line endings in your working directory
[master e704334] modified readme.txt
1 file changed, 1 insertion(+)