Git命令清单
# GIT命令清单
# Git 最小配置
| 某账号下所有的Gt仓库都有效 | 只对当前Git仓库有效 |
|---|---|
| git config ——global user—name 您的名称 | git config—local user.name'您的名称 |
| git config --global user.email "的 Emai | git config-local user.email '您的Emai" |
# 查看/清除Git的配置
| 查看global类型的配置项 | 清除global类型的配置项 |
|---|---|
| git config --global -list | git config——unset——global某个配置项 |
| 查看只作用于当前仓库的配置项 | 清除某个仓库的配置项 |
| git config --local --list | git config--unset-local某个配置项 |
# 本地基本操作
| git status | 查看变更情况 |
|---|---|
| git branch -v | 查看当前工作在哪个分支上 |
| git checkout指定分支 | 切换到指定分支 |
| git add. | 把当前目录及其子目录下所有变更都加入到暂存区 |
| git add -A | 把仓库内所有变更都加入到暂存区 |
| git add 文件1文件2 文件3 | 把指定文件添加到暂存区 |
| git commit | 创建正式的commit |
| git diff 某文件 | 比较某文件工作区和暂存区的差异 |
| git diff——cached某文件 | 比较某文件暂存区和HEAD的差异 |
| git diff HED某文件 | 比较某文件工作区和HEAD的差异 |
| git diff | 比较工作区和暂存区的所有差异 |
| git diff --cached | 比较暂存区和HEAD的所有差异 |
| git checkout 文件1文件2文件3 | 把工作区指定文件恢复成和暂存区一样 |
| git reset 文件1文件2文件3 | 把暂存区指定文件恢复成和HEAD 一样 |
| git reset --hard | 把暂存区和工作区所有文件恢复成和 HEAD 一样 |
| git difftool 提交A提交B | 用difftool 比较任意两个commit的差异 |
| git is-files--others | 查看哪些文件没被Git 管控 |
# 加塞临时任务的处理
| git stash | 把未处理完的变更先保存到 stash中 |
|---|---|
| git stash pop | 临时任务处理完后继续之前未完的工作 |
| git stash list | 查看所有 stash |
| git stash pop stash@{数字n} | 取回某次 stash 的变更 |
# 修改个人分支的历史
| 修改最后一次commit | 1)在工作区修改文件 2) git add. 3) git commit--amend |
|---|---|
| 修改中间的 commit(代号X) | 1) git rebase -i X前面一个commit的id 2)在工作区修改文件 3) git add. 4) git rebase--continue 后续可能需要处理冲突,直到rebase 结束 |
| git log--oneline | 当前分支各个 commit 用一行显示 |
| git log -n | 显示就近的n个commit |
| git log--oneline--graph--all | 用图示显示所有分支的历史 |
| git log 某文件 | 查看涉及到某文件变更的所有 commit |
| git blame 某文件 | 某文件各行最后修改对应的 commit以及作者 |
# 分支与标签
| git branch 新分支 | 基于当前分支创建新分支 |
|---|---|
| git branch 新分支 已有分支 | 基于指定分支创建新分支 |
| git branch 新分支 某个commit的id | 基于某个 commit 创建分支 |
| git checkout-b 新分支 | 创建分支并切换到该分支 |
| git branch -v | 列出本地分支 |
| git branch-av | 列出本地和远端分支 |
| git branch-rv | 列出远端所有分支 |
| git branch-rv-1'某样式” | 列出名称符合某样式的远端分支 |
| git branch-d拟删除分支 | 安全删除本地某分支 |
| git branch-D 拟删除分支 | 强行删除本地某分支 |
| git branch--merged master| grep-v'^*/master'|xargs-n 1 git branch-d | 删除已合并到 master分支的所有本地分支 |
| git remote prune origin | 删除远端origin 已不存在的所有本地分支 |
| git tag 标签名 commid的id | 给commit 打上标签 |
# 两分支之间的集成
| git merge A分支 | 把A分支合入到当前分支,且为 merge 创建 commit |
|---|---|
| git merge A分支 B分支 | 把A分支合入到B分支,且为merge 创建 commit |
| git rebase B分支 | 把当前分支基于B分支做 rebase,以便把B分支合入到当前分支 |
| git rebase B分支 A分支 | 把A分支基于B分支做 rebase,以便把B分支合入到A分支 |
| git mergetool | 用mergetool 解决冲突 |
# 和远端的交互
| git remote-v | 列出所有 remote |
|---|---|
| git remote add url地址 | 增加 remote |
| git remote remove remote的名称 | 删除 remote |
| git remote rename 旧名称 新名称 | 改变 remote 的 name |
| git fetch remote | 把远端所有分支和标签的变更都拉到本地 |
| git pull remote名称 分支名 | 把远端分支的变更拉到本地,且merge 到本地分支 |
| git push remote名称 分支名 | 把本地分支 push 到远端 |
| git push remote--delete 远端分支名 | 删除远端分支 |
| git push remote 标签名 | 向远端提交指定标签 |
| git push remote--tags | 向远端提交所有标签 |
编辑 (opens new window)
上次更新: 2024/07/11, 22:07:54