初识git(4)

1. git文件状态图

git
被git管控的文件只有两种状态:已跟踪或未跟踪
git add 是将未被追踪的文件变为被追踪的文件。此时本地索引中(stage)有该文件信息,stage记录文件的变化,但是还未提交到本地仓库。(暂存操作)
git commit 将本地索引中的文件修改提交到本地仓库中。此时文件状态变为unmodified,工作目录、索引和本地仓库中的文件内容一样。(提交操作)

当被git管理的文件被修改时候,文件的状态从unmodified 转换为modified,此时工作目录与索引和本地仓库中的文件内容不一样。
git add 将更改保存到stage 中
git commit 将stage中的文件保存到本地仓库,此时文件状态变为unmodified。

2. git的相关操作

1. 查看文件状态

git status :查看文件状态
git status -s :短格式输出
??:表示未跟踪的文件
M:表示改变的文件
A:表示文件从为跟踪转换为跟踪

使用git status查看到文件有修改,如果想进一步查看修改的内容,可以使用git diff命令
git diff:默认查看stage和工作目录中文件的差异
git diff –cached | –staged :查看stage中文件和本地仓库文件的差异

远程仓库使用的 Git 保存的简写与其对应的 URL

2. git忽略文件

如果确定文件永远不会加入git控制,可以新建隐藏文件
.gitignore
在该文件中写入文件的名称,相对路径,支持标准正则。
匹配模式可以以(/)开头防止递归。
匹配模式可以以(/)结尾指定目录。
要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反

3. git提交文件

提交文件
git commit:将stage中的文件存入本地仓库
-a:可以将修改的文件跳过暂存区的存放直接提交到本地仓库(跳过git add操作)

git commit –amend
将stage中的文件追加到上次的提交的版本中,如果stage中无新内容,可以视为修改上次的提交信息

4. git删除文件

删除文件
git rm: 从工作目录文件、stage和本地仓库删除文件
需要使用git commit提交操作,才能生效
如果要删除的文件add 后并未提交,需要使用git rm -f 强制删除
git rm –cached file_name:将文件从仓位中删除,但是工作目录依旧保留

5. git移动文件

移动文件
git mv: 改名后直接add一次
git mv相当于以下操作:
mv old_file.md new_file.md
git rm old_file.md
git add new_file.md

6. 查看提交历史

git log
-p :用来显示每次提交的内容差异
-p -2 :显示最近2次提交的内容差异
–stat:查看每次提交的简略信息
–stat -1:显示最近一次统计的简略信息

7. 撤销操作

撤销操作(谨慎使用):

  1. 取消git add 操作
    git reset HEAD

  2. 撤销对文件的修改
    git checkout –

---------------- 谢谢光临 ----------------

本文标题:初识git(4)

文章作者:pxrux

发布时间:2019年07月23日 - 00:07

最后更新:2019年07月23日 - 00:07

原始链接:http://www.mykernel.cn/git-v4.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

0%