【Git】记录每次更新到本地仓库

文件状态


工作目录中的每个文件有三种状态:

  1. 已跟踪的
  2. 未跟踪的
  3. 被忽略的


已跟踪的文件是指被git add命令纳入版本控制的文件,在上一次快照中有它们的记录

未跟踪的文件是指没有纳入版本控制的文件,比如新建的文件,它们既不存在于上次快照中,也没有放入暂存区

被忽略的文件是指被写入.gitignore文件中的文件名或目录名,比如个人笔记、临时文件等

编辑过某些文件之后,由于自上次提交后你对它们做了修改,Git 将它们标记为已修改文件。我们逐步将这些修改过的文件放入暂存区,然后提交所有暂存了的修改,如此反复。所以使用 Git 时文件的生命周期如下:

文件生命周期

记录更新的步骤


检查当前文件状态

要查看那些文件处于什么状态,可以使用

git status

跟踪新文件

要开始跟踪一个文件,它使用文件或目录的路径作为参数。如果参数是目录的路径,该命令将递归地跟踪该目录下的所有文件

git add

如果跟踪后缀名相同的所有文件,可以用

git add *.java

如果要跟踪当前目录下的所有文件,可以用

git add .

暂存已修改文件

可以使用git add命令已修改文件放到暂存区

这是个多功能命令:可以用它开始跟踪新文件,或者把已跟踪的文件放到暂存区,还能用于合并时把有冲突的文件标记为已解决状态等

状态简览

git status命令的输出非常详细,可以使用-s--short命令得到更紧凑的输出

git status -s
git status --short

忽略文件

可以将要忽略的文件名或目录名写入.gitignore文件中

.gitignore文件的格式规范如下:

  1. 所有空行或者以 # 开头的行都会被 Git 忽略。

  2. 可以使用标准的 glob 模式匹配。

  3. 匹配模式可以以(/)开头防止递归。

  4. 匹配模式可以以(/)结尾指定目录。

  5. 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。

查看已暂存的和未暂存的文件

如果想要知道具体修改了什么地方,可以使用

git diff

若要查看已暂存的将要添加到下次提交里的内容,可以用

git diff --cached

Git 1.6.1 及更高版本还允许使用git diff --staged,效果是相同的,但更好记些

请注意,git diff本身只显示尚未暂存的改动,而不是自上次提交以来所做的所有改动

提交更新

使用命令时,会启动文本编辑器输入本次提交的说明

git commit

默认会启用shell的环境变量$EDITOR所指定的软件,一般都是 vim 或 emacs。也可以使用git config --global core.editor命令设定编辑软件

也可以使用-m选项,将提交信息和命令放在同一行,如

git commit -m "first commit"

跳过使用暂存

在提交的时候,给git commit加上-a选项,Git 就会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过git add步骤

git commit -a

移除文件

要从 Git 中移除某个文件,就必须要从已跟踪文件清单中移除(确切地说,是从暂存区域移除),然后提交。 可以用git rm命令完成此项工作,并连带从工作目录中删除指定的文件,这样以后就不会出现在未跟踪文件清单中了。

git rm

重命名文件

要在 Git 中对文件改名,可以使用git mv file_from file_to

其实,运行git mv就相当于运行了下面三条命令:

$ mv README.md README
$ git rm README.md
$ git add README
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值