三种状态
三个阶段
基本的 Git 工作流程
- 在工作区修改文件.
- 将下次想要提交的更改选择性地暂存, 这样只会将更改的部分添加到暂存区.
- 提交更新, 找到暂存区的文件, 将快照永久性存储到 Git 目录.
命令速查
-
初次运行 Git 前的配置
-
1.配置系统变量
-
- 配置用户信息
-
- 文本编辑器
-
- 其他
-
获取 Git 仓库
-
查看已暂存和未暂存的修改
-
提交
-
移除文件
如果直接从工作区删除文件, 运行 git status
后, 文件会显示在 changes note staged for commit(未暂存) 部分.
运行 git rm
可以记录此次移除文件的操作(changes to be commited).
-
移动文件
-
查看提交日志
-
撤销操作
-
回滚
-
远程仓库
-
标签
轻量标签
相当于某个提交的应用, 只附带当前提交信息.
附注标签
附注标签是存储在 Git 数据库中的一个完成对象, 它是可以被校验的, 其中包含打标签者的名字、电子邮件、地址、日期时间, 此外还有一个标签信息, 能够用 GPG 签名并验证.
-
GIt 别名
-
HEAD、HEAD~、HEAD^ 说明
HEAD: 指向当前所在分支的最新提交
HEAD~{n}: 指向当前路径的第 n 个提交
HEAD = HEAD~0
HEAD~ = HEAD~1
HEAD~~ = HEAD~2
HEAD^n: 切换父级提交路径的第 n 个提交(父级本身就代表了回溯了 1 次)
-
分支
冲突说明
=== 上半部分表示 HEAD 所指示的版本(当前分支).
=== 下半部分表示需要合并的版本(希望合并的分支).
解决冲突后(删除 <<< / === / >>>), 使用 git add
来将其标记为冲突已解决.
-
.gitignore
https://github.com/github/gitignore
-
submodule
clone 包含子模块的仓库流程
更新仓库内的子模块
删除仓库内的子模块
-
Delete the relevant section from the .gitmodules
file.
-
Stage the .gitmodules
changes:
git add .gitmodules
-
Delete the relevant section from .git/config
.
-
Remove the submodule files from the working tree and index:
git rm --cached path_to_submodule
(no trailing slash).
-
Remove the submodule’s .git
directory:
rm -rf .git/modules/path_to_submodule
-
Commit the changes:
git commit -m "Removed submodule "
-
Delete the now untracked submodule files:
rm -rf path_to_submodule
参考