Git文件操作

1.Git文件操作

1.1 文件4种状态

  • Untracked :未跟踪,位加入到库中,可通过git add命令将状态转换为Staged状态
  • Unmodified:已入库,未修改,若用git edit命令转换为modified状态,也可用git rm命令转换为untracked状态。
  • Modified:仅仅只是修改过,未进行其它操作。可用git add转换为Staged状态,也可用git checkout退回到unmodified状态,此时修改部分作废。
  • Staged:已暂存,可用git commit同步更新到库中,此时变为unmodified状态,也可通过git reset HEAD filename退回到modified状态。
    状态转换图
    ![[Pasted image 20211027201952.png]]

1.2 查看文件状态

1.2.1 查看所有文件状态

输入git status,若在克隆完文件后执行此命令,可看到如图
![[Pasted image 20211027204332.png]]
说明所有已跟踪文件在上次提交后都未被更改过,而且当前目录下没有出现任何处于未跟踪状态的新文件,当前分支为默认分支“Master"

1.2.2 查看某个文件状态

输入git status filename即可,如图
![[Pasted image 20211027210548.png]]

1.3 文件操作

1.3.1 跟踪文件

输入git add 文件名即可,在查看状态即可发现hello.txt文件已被跟踪,处于暂存状态,如图
![[Pasted image 20211027211058.png]]

1.3.2 未跟踪文件

输入git restore --staged filename即可,此时再查看文件可发现有个未跟踪文件,如图
![[Pasted image 20211027211438.png]]

1.3.3 修改已暂存的文件

修改已跟踪的文件内容后,查看此文件状态可发现此文件已被修改,处于modified状态,如图
![[Pasted image 20211027213346.png]]

1.3.4 提交文件

输入git commit -m 'filename'即可,此时可发现提交成功,库中信息已改变,如图
![[Pasted image 20211027213914.png]]
每一次运行提交操作,都是对你项目作一次快照,以后可以回到这个状态,或者进行比较。

1.3.5 忽略文件

一般对某些无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表的文件进行操作,如日志文件等没必要提交的文件。此时创建一个名为 .gitignore 的文件,列出要忽略的文件的模式。如

cat .gitignore #忽略所有以 `.o` 或 `.a` 结尾的文件
*.[oa]

gitignore文件命名格式:

  • 所有空行或者以 # 开头的行都会被 Git 忽略。
  • 可以使用标准的 ==glob 模式(Linux通配符)==匹配,它会递归地应用在整个工作区中。
  • 匹配模式可以以(/)开头防止递归。
  • 匹配模式可以以(/)结尾指定目录。
  • 要忽略指定模式以外的文件或目录,可以在模式前加上叹号(!)取反。
    例如
# 忽略所有的 .a 文件
*.a
# 但跟踪所有的 lib.a,即便你在前面忽略了 .a 文件
!lib.a
# 只忽略当前目录下的 TODO 文件,而不忽略 subdir/TODO
/TODO
# 忽略任何目录下名为 build 的文件夹
build/
# 忽略 doc/notes.txt,但不忽略 doc/server/arch.txt
doc/*.txt
# 忽略 doc/ 目录及其所有子目录下的 .pdf 文件
doc/**/*.pdf
1.3.6 移除文件

从已跟踪文件清单中移除(是从暂存区域移除),然后提交,可用 git rm 命令完成

1.3.7 重命名文件
git mv file_from file_to

其实是执行了3种代码,即mv命令,git rmgit add。上述命令可等价为

mv file_from file_to
git rm file_from
git add file_to

如图,重命名dark1图片文件为dark。
![[Pasted image 20211028155322.png]]
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值