一、文件状态
-
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忽略提交规则 - .gitignore配置运维总结 - 散尽浮华 - 博客园 (cnblogs.com)?
|