《Git 学习指南》笔记
基础指令
- 配置用户名与用户邮箱:
git config --global user.email "610942869@qq.com"
- 创建仓库:
git init
- 克隆版本库:
git clone 克隆路径
- 克隆裸版本库:
git clone --bare 克隆路径
,裸版本库用于充当提交汇聚点
- 克隆裸版本库:
- 添加提交文件:
git add 文件名/--all
- 移除文件:
git rm
- 提交代码至本地仓库:
git commit --message "提交描述"
- 提交代码至远程仓库:
git push
- 拉取代码:
git pull
- 检查修改状态:
git status
- 重置暂存区:
git reset 标记
- 查看文件变化
- 查看提交差异:
git diff 标记
- 查看当前与提交差异:
git diff 标记^!
- 限定显示目录:
git diff 标记 标记 - 路径
- 统计文件修改数量:
git diff --stat 标记 标记
- 查看提交差异:
- 显示提交历史
- 查看历史列表:
git log
- 查看提交关系:
git log --graph
- 查看最后 n 次提交:
git log -n 3
- 格式化输出显示详细 / 概述信息:
git log --format=fuller / --oneline
- 显示修改文件 / 修改文件目录 / 多少文件修改:
git log --stat / --dirstat / --shortstat
- 查看历史列表:
- 查看版本库完成性:
git fsck
.gitignore
- 可以在任意目录下建立
.gitignore
文件,仅作用于当前目录及子目录,无法忽略已提交至版本库的内容 - 通过
update-index
命令的--assume-unchanged
选项忽略已提交版本库内容
储藏栈
- 存入储藏栈:
git stash
- 恢复栈顶修改:
git stash pop
- 查看储藏栈中内容:
git stash list
,返回编号 - 查看储藏站修改内容:
git stash pop 编号
分支
-
查看分支
-
查看本地分支:
git branch
-
查看远程分支:
git branch -r
刷新远程分支:
git fetch 分支名
(-r
并非实时更新)
-
-
创建分支
- 创建新分支:
git branch 分支名
- 为提交创建新分支:
git branch 标记
- 从现有分支创建分支:
git branch 根分支 新分支
- 创建新分支:
-
切换分支:
git checkout 分支名
-
创建并切换分支:
git checkout -b 分支名
-
切换分支时被拒绝:通常情况为当前分支存在修改
- 提交修改:
git commit
- 强制放弃修改:
git checkout --force 分支名
- 储藏:
git stash
- 提交修改:
-
删除分支:
git branch -d 分支名
- 强制删除:
git branch -D 分支名
(通常删除当前分支)
- 强制删除:
-
恢复分支:
git branch 分支名 散列值
- 查询散列值:
git reflog
- 查询散列值:
-
清理垃圾:
gc