【Git 教程系列第 8 篇】将工作区的改动“添加“到暂存区 — git add
这是【Git 教程系列第 8 篇】,如果觉得有用的话,欢迎关注专栏。
在讲解 git add 之前,我们不得不先了解另外一个 git 命令:git status
一:git status 介绍
作用 git status 命令用于显示工作区和暂存区文件的状态,不显示已经 commit (提交) 到版本库中的信息。 使用此命令能看到哪些修改已经放到了暂存区, 哪些没有,哪些文件没有被 Git 跟踪到。
我在 阿里云 上新建了一个公共仓库
仓库地址链接(SSH方式):git@code.aliyun.com:suxing_xixi/Write_down_your_name.git
新手学习 git 时可以拿这个公共仓库练习,上传一段话证明你成功的推送到这个公共仓库即可。
推荐使用 SSH 方式,要比 HTTPS 快很多,我的 Windows如何创建--ssh,这篇博客里面写的也很清楚。记得把本地公匙添加到阿里云的设置-SSH密钥里面,这样你本地电脑才能和远端练习起来,切记!切记!切记!
例如:我从这个公共仓库(此时还是空库)克隆到本地目录,不做任何操作,直接在本地目录输入 git status 命令
会提示当前在 master 分支上没有任何可提交的内容。
这里我暂时只列出一个示例,其它 git status 情况,遇到的时候再去分析。
二:git add 介绍
作用 把改动文件添加到本地仓库中的暂存区。
举例说明 现在我在克隆下来的目录下新建一个名为 "Test" 的 TXT 文件 (编码格式 UTF-8 ), 先 git status 一下
由图可知,当增加新文件,查看当前文件状态时,状态如上图所示,未添加的文件会被标记为红色。
然后输入指令 git add +文件,回车
再次查看文件状态
添加到暂存区的文件会被标记为绿色。
三:其它 git add 指令
当然,这只是一个文件,当有几十,几百个文件都需要提交到暂存区,总不能一个一个的 add 吧,当然不会。
1:git add .
作用:该指令可以把工作区所有改动文件全部提交到暂存区。
2:git add -A
作用:该指令可以把所有跟踪文件中被修改过,或已删除文件,和所有未跟踪的文件信息添加暂存区。
3:git add -u
作用:该指令把所有跟踪文件中被修改过,或已删除文件的信息添加暂存区。它不会处理那些没被跟踪的文件。
4:git add Hello*
作用:将所有以 Hello 开头的文件的修改添加到暂存区。 例如:HelloWorld.txt,HelloUnity.txt,HelloGit.txt 等等。
当然,后面如果你对某个命令不熟悉,可以通过 指令名+空格+ -help ,回车的方式查看,如
三:git add -help
假如你对 git add 命令不熟悉,你就可以在命令行输入 git add -help,回车
与 git add 相关的组合指令都会显示出来,解释信息也很清楚。
四:git add --help
如果输入 指令名+空格+ --help 指令(help前两个 -),会直接跳转所输指令的网页链接
特殊声明: 所有的版本控制系统,只能跟踪文本文件的改动,比如 TXT 文件,网页,所有的程序代码等等,Git 也不例外。
版本控制系统可以告诉你每次的改动,比如在第 4 行加了一个备注 “SuXing”,在第 8 行删了一个单词 “Windows”。
而图片、视频这些二进制文件,虽然也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是只知道图片从 100KB 改成了 120KB ,但到底改了啥,版本控制系统不知道,也没法知道(咱也不敢问,哈哈)
像前面说到的 Microsoft 的Word,Excel 格式都是二进制格式,因此,版本控制系统是没法跟踪Word,Excel 文件的改动,前面举的例子只是为了演示,如果要真正使用版本控制系统,就要以纯文本方式编写文件。
因为文本是有编码的,比如中文有常用的 GBK 编码,如果没有历史遗留问题,强烈建议使用标准的UTF-8 编码,所有语言使用同一种编码,既没有冲突,又被所有平台所支持。
你的问题得到解决了吗?欢迎在评论区留言。
赠人玫瑰,手有余香,如果觉得文章不错,希望可以给个一键三连,感谢。
结束语
技术是一点一点积累的,大神也不是一天就可以达到的。原地不动就是退步,所以每天进步一点点。 最后,附上一句格言:"好学若饥,谦卑若愚",望共勉。
转载自:https://juejin.cn/post/7099626959637839880