Git基础小记——Chapter 2 记录更新到仓库

Chapter 2 记录更新到仓库

2.1生命周期图 lifecycle

下图的文件生命周期图可以清晰的看出文件在Git中的状态。工作目录下的每一个文件都不外乎两种状态:已跟踪未跟踪。已跟踪的文件是指那些被纳入了版本控制的文件,在上一次快照中有它们的记录,在工作一段时间后, 它们的状态可能是未修改已修改已暂存。已跟踪的文件就是 Git 已经知道的文件。编辑过某些文件之后,由于自上次提交后你对它们做了修改,Git 将它们标记为已修改文件。 在工作时,你可以选择性地将这些修改过的文件放入暂存区(也就是git add),然后提交所有已暂存的修改(也就是git commit),如此反复。
在这里插入图片描述

2.2 文件状态

git status 命令查看哪些文件处于什么状态。

StatusDescription
Untracked files未跟踪的文件,Git 不会自动将其纳入跟踪范围
Changes to be committed已暂存状态,此时提交,该文件在你运行 git add 时的版本将被留存
Changes not staged for commit已跟踪文件的内容发生了变化,但还没有放到暂存区

git status 命令的输出十分详细。status -s 缩短状态命令的输出,这样可以以简洁的方式查看更改。

SymbolDescription
??新添加的未跟踪文件前面有 ??标记
AAdd新添加到暂存区中的文件前面有 A 标记
MModified已修改但尚未暂存有 M 标记
MM文件已修改,暂存后又作了修改,因此该文件的修改中既有已暂存的部分,又有未暂存的部分

2.3 忽略文件

有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。在这种情况下,可以创建一个名为 .gitignore 的文件,列出要忽略的文件的模式.gitignore例子:

cat .gitignore
*.[oa] # 告诉 Git 忽略所有以 .o 或 .a 结尾的文件
*~ # 告诉 Git 忽略所有以波浪符结尾的文件,许多文本编辑软件都用这样的文件名保存副本

GitHub有一个十分详细的针对数十种项目及语言的 .gitignore 文件列表, 你可以在这里找到它😮。

2.4 查看已暂存和未暂存的修改

git diff命令比较的是工作目录中当前文件和暂存区域快照之间的差异,也就是修改之后没有暂存(not add)起来的变化内容,简单来说就是暂存(git add)前后
git diff --staged命令查看已暂存的将要添加到下次提交里的内容,这条命令将比对**已暂存文件(added)与最后一次提交的文件(committed)**差异。

虽然但是,这些在IDE里很直观,何苦折磨自己呢。🙄🙄

2.5 提交更新

现在的暂存区已经准备就绪,可以提交了。 在此之前,请务必确认还有什么已修改或新建的文件还没有 git add, 否则提交的时候不会记录这些尚未暂存的变化。每次准备提交前,先用 git status 看下,你所需要的文件是不是都已暂存起来了。

2.6 移除文件

要从 Git 中移除某个文件,就必须要从已跟踪文件清单中移除(确切地说,是从暂存区域移除),然后提交。 用 git rm 命令完成此项工作。如果要删除之前修改过已经放到暂存区的文件,则必须使用强制删除选项 -f。这是一种安全特性,用于防止误删尚未添加到快照的数据,这样的数据不能被 Git 恢复。

git rm 1.txt
git rm -r src # 删除文件夹
git rm -rf src # 强制(force)删除文件夹

2.7 移动文件

Git 的 git mv 命令实现移动。要在 Git 中对文件改名,可以这么做:

git mv file_from file_to

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

mv file_from file_to
git rm file_from
git add file_to

ps: 整理自 git-scm
如有错误,还望指正

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值