Git操作试验(一):将文件提交至暂存区和版本库

一、案例背景:

1.项目目录下有以下文件:


image.png

2.其中,testfile.txt的内容初始只有“11111”;
3.app.py文件已被成功提交至版本库;

  1. 输入以下命令查看当前仓库状态:
git status

可以看到除了app.py,其他文件都都没有被追踪,untracked。
image.png

二、文件提交至暂存区

输入以下命令,将textfile.txt提交至暂存区:

 git add testfile.txt

可以看到如下结果:
image.png

提示发现了一个新文件(new file),表明testfile.txt已被提交至暂存区,并等待被提交至版本库(Changes to be committed)。
此时,在testfile.txt文件中再添加一行“22222”,文件内容变为:


image.png

再次查看仓库状态:
image.png

可以看到仓库虽然追踪到了testfile.txt的改动(modified),但这个改动后的版本还没有被提交至暂存区(Changes not staged)。

三、将版本库内容与工作区内容进行比较

输入以下命令:

git diff HEAD -- testfile.txt

可以看到以下结果:


image.png

“---”表示版本库里的版本,由于我们只是将testfile.txt提交至暂存区,但还没有将暂存区里的testfile.txt提交至版本库,因此版本库里testfile.txt的文件版本是“无”(/dev/null)。
“+++”表示当前工作区内的版本,(b/testfile.txt)
“@@ -0,0 +1,2 @@”
“-”表示版本库里的版本,如前面所述由于版本库里目前还没有testfile.txt,所以显示此时文件内容是从第0行到第0行;
“+”表示当前工作区的版本,由于当前文件内容已经变为两行:


image.png

所以文件内容是从第1行到第2行。
+11111

+22222
表示当前工作区中testfile.txt的内容。

四、将暂存区文件提交至版本库

使用以下命令:

git commit -m 'testfile第一次提交'

此时再查看仓库状态:


image.png

发现暂存区内对于testfile.txt文件已经没有了“new file”这一状态,证明testfile.txt文件的初始版本(即内容里只有一行“11111”)已被提交至版本库。
此时,再将版本库内容与工作区内容相比较:


image.png

可以看到版本库里的版本状态(---)已变为“a/testfile.txt”,因为当前版本库中已经有了textfile.txt的初始版本。
@@ -1 +1,2 @@:

由于初始版本中只有一行内容“11111”,所以初始版本状态是“-1”。
当前工作区内的testfile.txt有两行内容,所以是“+1,2”
-11111表示修改前版本内容,
+11111
+22222
表示目前工作区内textfile.txt文件的内容

五、将修改后的版本提交至暂存区、版本库

再次使用“git add”命令将修改后的textfile.txt提交至暂存区:

git add testfile.txt

查看此时仓库状态:


image.png

发现testfile.txt文件的“modified”状态已变为绿色,说明修改后的版本已被提交至暂存区,等待被提交至版本库。
再次使用“git commit”命令将修改后的testfile.txt版本提交至版本库:

git commit -m 'testfile第二次提交'

查看此时仓库状态:


image.png

发现关于testfile.txt文件的信息已全部消失,说明其修改版也已被提交至版本库。
再次使用“git diff HEAD”命令比较版本库里的版本和工作区的版本:


image.png

发现输入命令后已没有任何信息提示,说明修改后的版本已经被成功提交至版本库,版本库内的testfile.txt已经与工作区中的testfile.txt版本一致。至此,全部试验结束
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容