GIT常用命令表
| 类型 | 命令 | 含义 |
|---|---|---|
| git config | git config --list | 查看git的配置列表 |
| git config --global user.name "xxx" git config --global user.email "xxx@xx.cn" | --global 表示全局,即当前用户都有效,该配置会出现在 ~/.gitconfig 文件;不加--global即局部是只对当前仓库起效,配置信息会在当前仓库根目录/.git/config文件 | |
| git config --global core.editor "vim" | 设置 Git 默认编辑器为 Vim | |
| git config --global color.diff auto | 让 git diff 使用颜色显示差异 | |
| git clone | git clone url | 从master克隆 |
| git clone -b branch/Tag url | 克隆某一个branch分支或Tag | |
| git push | (1) git push origin --delete branch_name (2) git push origin :branch_name | 删除远程分支 |
| git push origin master | 如果远程分支被省略,则表示将本地分支推送到与之存在追踪关系的远程分支(通常两者同名) | |
| git push origin master:refs/for/master | 将本地的master分支推送到远程主机origin上的对应master分支, origin 是远程主机名,第一个master是本地分支名,第二个master是远程分支名,refs/for: 提交代码到服务器之后需要经过code review之后才能进行merge | |
| git push origin master:test-branch | 将本地master分支推送到远程仓库的test-branch分支,如果远程仓库里没有该分支,Git会在远程自动创建这个分支 | |
| git branch | git branch -d | 删除本地分支,删除前会检查merge状态 |
| git branch -D | git branch --delete --force的简写,它会直接删除 | |
| git branch -a | 查看本地和远程所有分支 | |
| git pull | (1) git fetch --all (2) git reset --hard origin/branch | 放弃本地修改,远程仓库直接强制覆盖本地仓库 |
| (1) git pull origin (2) branch (3) git status (4) git add . (5) git commit -m "xxx" (6) git push origin branch | 一般提交代码步骤 | |
| git add | git add . | 本地所有untrack的文件都加入暂存区,并根据.gitignore做过滤 |
| git add * | 忽略.gitignore把所有文件都加入 | |
| git add -A | 提交所有变化 | |
| git diff | git diff origin/branch1 origin/branch2 | 显示两个分支最后commit的内容差异 |
| git diff | 工作区和暂存区比较 | |
| git diff --cached | 暂存区和HEAD比较 | |
| git diff HEAD | 工作区和HEAD比较 | |
| git checkout | git checkout origin/master -- path/to/the/file | 单独更新工作区里面的一个特定文件 |
| git checkout -b branch | 创建新分支,如果已经存在同名,会报错 | |
| git checkout -B branch | 创建新分支,如果存在同名,强制建立并覆盖原分支 | |
| (1) git log (2) git checkout commit_id | git log查看某次历史commit id 拉取某次历史commit id的代码 | |
| git tag | git tag v1.0 | 创建一个轻量标签,Git 中的标签(tag)是针对特定 提交 创建的,不受分支的影响。当你在某个分支上创建标签时,实际上是在该分支的当前 提交 上创建标签 |
| git tag -a v1.0 -m "version 1.0 release" | 创建一个附注标签 | |
| git tag <tag_name> <commit_hash> | 为特定提交创建标签 | |
| git show <tag_name> | 查看标签的详细信息 | |
| git tag -d <tag_name> | 删除一个本地标签 | |
| git push origin <tag_name> | 推送单个标签到远程仓库 | |
| git push --delete origin <tag_name> | 删除已经推送了的远程仓库里的标签 |