版本控制之GIT文件操作

一、文件状态

  • Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged

  • Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件

  • Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过, 返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改

  • Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存, 文件状态为Modified

 查看文件状态

git status #查看当前目录下所有文件的状态

git status filename #查看某个文件目前的状态

git status -s  #以精简的方式显示结果

 二、文件操作

(1)git add

           跟踪新文件或者将文件添加至缓存区。

            git add . 跟踪当前目录的所有文件以及将所有文件添加到缓存区。

(2)git commit

          执行git commit 将缓存区内容添加到仓库中。

(3)git diff

         执行git diff来查看执行git status 的结果的详细结果。

         git diff命令显示已写入缓存和已写入缓存的区别。

尚未缓存的改动:git diff

查看已缓存的改动: git diff --cached

查看已缓存和未缓存的所有改动:git diff HEAD

   (4) git reset HEAD

         该命令用来取消已缓存的内容。

(5)git rm

        该命令用来从工作目录中手动删除文件。

(6)git mv

        该命令用于移动或者重命名一个文件、目录、软连接。

三、文件忽略

日常中,会有一些文件不需要进行版本控制,也不希望出现在未跟踪列表。例如一下日志文件,临时文件等。这种情况下,可以创建.gitignore文件,列出要忽略的文件模式。

文件.gitignore的格式规范:

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

  • 可以使用标准的glob模式匹配,它会递归地应用在整个工作区中。

  • 匹配模式可以以/开头方式递归。

  • 匹配模式可以以/结尾指定目录。

  • 要忽略指定模式以外地文件或目录,可以在模式前加上叹号!取反。

其他具体操作可参考:

Git忽略提交规则 - .gitignore配置运维总结 - 散尽浮华 - 博客园 (cnblogs.com) 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值