Areas
- Workspace
- Index / Stage
- Repository (local/remote)
- Remote
command | description |
---|---|
git config —global user.name | 修改全局 user.name |
git config —global user.email | 修改全局 user.email |
git config user.name | 修改 repo user.name |
git config user.email | 修改 repo user.email |
type
- "feat"
- "fix"
- "docs"
- "style"
- "refactor"
- "perf"
- "test"
- "chore"
- "revert"
- "deps"
- "merge"
- "release"
command | description |
---|---|
git init | 创建 repo |
git clone | 克隆 repo 到本地 |
command | description |
---|---|
git status | 当前变更文件 |
git log | 当前分支历史 |
git log —pretty=online/short | 显示模式 |
git log —graph | 图形化显示 |
git log - | 倒数第几条 log |
git log —state | 显示 commit 历史,每次 commit 发生变更的文件 |
git log —follow | 显示某个文件的历史,包括文件改名 |
git log -p | 显示指定文件每次 diff |
git log HEAD --pretty=format:%s | 显示某个commit之后的所有变动,每个commit占据一行 |
git blame | 文件被什么人,什么时间修改过 |
git diff | 显示暂存区和工作区的差异 |
git diff —state | 查看简单的 diff 结果 |
git diff | 查看指定文件的差异 |
git diff —cached | 显示暂存区和上一个 commit 的差异 |
git diff HEAD | 显示工作区与当前分支最新 commit 之间的差异 |
git diff | 比较 work dir和 branch 之间的差异 |
git diff | 比较分支之间的差异 |
git diff | 比较两次提交之间的差异 |
git diff —shortstatoe "{0 day age}" | 显示今天改变了多少代码 |
git reflog | 当前分支最近的几次提交 |
command | description |
---|---|
git reset [commit id] | staged snapshot 重置,work dir 不变 |
git reset —soft | staged snapshot 和 work dir 未被改变 |
git reset —hard [commit id] | staged snapshot 和 work dir 都会退回到 commit-id 前 |
git checkout | 恢复指定文件到 work dir |
git checkout . | 恢复 stage 所有文件到 work dir |
git checkou <branch|tag|commit> | 恢复指定 branch,tag,commit 下的文件到 work dir |
git revert HEAD | 撤销前一次 commit |
git revert HEAD~ | 撤销前前一次 commit |
git revert HEAD~n | 撤销前 n 次 commit |
git revert commit | 撤销指定 commit |
git clean -n | show what will be deleted |
git clean -f | Remove untracked files from the working tree |
... |
command | description |
---|---|
git fetch | 获取当前分支最新 commits,不合并 |
git pull | 获取当前分支最新 commits,合并,并产生新的 merge commit (fetch + merge) |
git merge | 把 branch 与当前分支合并 |
git rebase | 变基 branch 到当前分支 |
git rebase —abort | 放弃 rebase 操作 |
git rebase --continue | 继续进行 rebase 操作 |
git rebase -i | 交互模式 |
git rebase --skip | 跳 |
git rebase | rebase 当前分支,从 commit-id 以后的开始提交 |
... |
command | description |
---|---|
git branch | 列出所有本地分支 |
git branch -r | 列出远程所有分支 |
git branch -a | 列出本地+远程所有分支 |
git branch | 新建分支 |
git branch <branch|commit|tag> | 指定 branch、commit、tag 拉出新的 branch |
git branch -m | 重命名分支 |
git branch -d | 删除本地分支 |
git branch -dr | 删除本地和远程分支 |
git push —delete | 删除远程分支 |
git checkout | 切换到分支 |
git checkout - | 切换到上一个分支 |
git checkout -b | 切换到分支,如果没有便创建 |
git tag | 列出所有标签 |
git tag | 新建标签 |
git tag -a -m | 新建带标注标签 |
git checkout | 切换到标签 |
git push | 推送标签到仓库 |
git push —tags | 推送所有标签到仓库 |
git tag -d | 删除本地分支 |
git push :refs/tags/ | 删除远程分支 |
... |
command | description |
---|---|
git commit | 提交更新 |
git commit -m [message] | 备注 |
git commit —amend | 修改 HEAD 的 commit 信息,产生新的 commit-id |
git commit … -m | 提交 stage 区置顶文件到 repo |
... |
commands | description |
---|---|
git push | 推送 到代码仓库 |
git push -f | —force 强制推送当前分支到远程仓库,忽略 conflicts |
git push —all | 推送所有分支 |
git push : | 删除远程特定分支 |
git push —delete | 删除远程特定分支 |
... |
commands | description |
---|---|
git stash | 保存 staged snapshot 状态 |
git stash list | 列出所有保存的 staged snapshot |
git stash apply | 启用某个 stash |
git stash drop | 删除某个 stash |
... |
command | description |
---|---|
git remote add | 添加源 |
git remote | 显示全部源 |
git remote -v | 显示全部源 + 全部信息 |
git remote rename | 重命名 |
git remote rm | 删除指定 name |
git remote show | 查看指定 name 所有信息 |
... |
command | description |
---|---|
git add . | 添加所有文件到 staged snapshot |
git add | 添加某些文件到 staged snapshot |
git add | 添加某目录和其子目录到 staged snapsshot |
git rm | 删除 work dir 下文件,把这次删除放入 staged snapshot |
git rm —cached | 停止追踪,保留文件在 work dir |
git mv | 改变命名,并放到 staged snapshot |
... |