2019-07-23
linux
00
请注意,本文编写于 1676 天前,最后修改于 1676 天前,其中某些信息可能已经过时。

目录

1. git文件状态图
2. git的相关操作
1. 查看文件状态
2. git忽略文件
3. git提交文件
4. git删除文件
5. git移动文件
6. 查看提交历史
7. 撤销操作

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 --

本文作者:mykernel

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!