当前位置:首页-文章-Git配置管理-正文

八、管理Git版本库中文件的修改

首先需要理解,什么是修改?比如你新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个修改。其实创建一个新文件,也算一个修改。

现在我们来修改一个Git版本库中已被跟踪的文件。 如果你修改了一个名为 README.txt 的已被跟踪的文件,然后运行 git status 命令,会看到下面内容:

$ 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")

文件 README.txt 出现在 Changes not staged for commit 这行下面,说明已跟踪文件的内容发生了变化,但还没有放到暂存区

要暂存这次更新,需要运行 git add 命令。

$ git add  README.txt

然后再看看 git status 的输出:

$ git status
On branch master
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        modified:   README.txt

Changes to be committed这行下面显示了已暂存的内容。现在README.txt文件已暂存,下次提交时就会记录到仓库。 假设此时,你又想要在 README.txt 里再加条注释。 重新编辑保存后,准备好提交。 不过且慢,再运行 git status 看看:

$ git status
On branch master
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        modified:   README.txt

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

怎么回事? 现在README.txt文件同时出现在暂存区和非暂存区。 这怎么可能呢? 好吧,实际上 Git 只不过暂存了你运行 git add 命令时的版本。 如果你现在提交, README.txt 的版本是你最后一次运行 git add 命令时的那个版本,而不是你运行 git commit 时,在工作目录中的当前版本。 所以,运行了 git add 之后又作了修订的文件,需要重新运行 git add 把最新版本重新暂存起来:

$ git add README.txt
$ git status
On branch master
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        modified:   README.txt

此时,我们再执行git commit命令,即可将README.txt 文件的两次修改,通过一次提交记录到版本库。

$ git commit -m "修改README.txt文件"
[master 2c97086] 修改README.txt文件
 1 file changed, 3 insertions(+), 1 deletion(-)

所属专题:

本文原创,作者:Modeler。
如需转载,请注明出处:https://modelbaba.com/version-control/772.html

相关文章

换一批