前言
之前零零散散记录了一些git命令,很多是遇到问题才去查找的,总感觉不踏实。在这里梳理一下,可能不是最全的,但一定是工作中最常用的命令。
1.add
| 功能 |
命令 |
|---|
| 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件 |
git add |
| 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new) |
git add -u |
| 提交所有文件 |
git add -A |
2.commit
| 功能 |
命令 |
|---|
| 普通提交 |
git commit -m “message” |
| 普通提交(支持message换行) |
git commit -m ’ 单引号,message可换行 ’ |
| 追加提交 |
git commit -a |
3.push
| 功能 |
命令 |
|---|
| 提交代码 |
git push origin master |
| 删除远程分支 |
git push origin --delete my_branch |
4.pull
| 功能 |
命令 |
|---|
| 更新所有分支 |
git pull |
| 更新指定分支 |
git pull origin master |
5.checkout
| 功能 |
命令 |
|---|
| 新建分支同时切换到该分支 |
git checkout -b branchName |
| 切到指定分支 |
git checkout master |
| 切到指定commit |
git checkout <commit_id> |
| 撤销当前修改 |
git checkout . |
6.diff
| 功能 |
命令 |
|---|
| 对比工作区和暂存区 |
git diff |
| 对比暂存区和版本库 |
git diff --cached |
| 对比工作区和版本库 |
git diff HEAD |
7.reset
| 功能 |
命令 |
|---|
| 强制回退到最近一个pull成功的提交 |
git reset --hard FETCH_HEAD |
| 强制回退到指定commit号 |
git reset --hard <commit_id> |
| 将某个文件回退到指定commit号 |
git reset <commit_id> MainActivity.java |
8.show
| 功能 |
命令 |
|---|
| 查看commit详情 |
git show <commit_id> |
| 只查看修改的文件名 |
git show <commit_id> --name-only |
9.log
| 功能 |
命令 |
|---|
| 查看commit号 |
git log |
| 查看指定作者的提交 |
git log --author=name |
| 查看指定邮箱的提交 |
git log --author=name@xxx.com |
| 查看一段时间的提交 |
git log --after=2020-01-01 --before=2020-01-02 |
| commit只显示一行 |
git log --pretty=oneline |
| 查看某个文件的提交 |
git log -p MainActivity.java |
10.cherry-pick
| 功能 |
命令 |
|---|
| 将源分支的 一个commit cherry-pick 到目标分支 |
git cherry-pick <src_commit_id> |
11.branch
| 功能 |
命令 |
|---|
| 查看本地分支 |
git branch |
| 查看本地分支和远程分支 |
git branch -a |
| 建立本地分支和远程分支的关联 |
git branch --set-upstream branch-name origin/branch-name |
12.clean
| 功能 |
命令 |
|---|
| 删除Untracked的文件 |
git clean -f |
| 删除Untracked的文件和目录 |
git clean -d |
| 删除Untracked的文件和目录,包括.gitignore文件里面指定的文件夹和文件 |
git clean -dx |
| 查看哪些文件将会被删除: -n参数 |
git clean -fn, git clean -dn |
13.stash
| 功能 |
命令 |
|---|
| 暂存当前修改 |
git stash |
| 查看stash了哪些存储 |
git stash list |
| 恢复之前缓存的工作目录 |
git stash pop stash@{$num} |
| 删除所有缓存的stash |
git stash clear |
14.revert
| 功能 |
命令 |
|---|
| 撤销指定的提交 |
git revert <commit_id> |
15.remote
| 功能 |
命令 |
|---|
| 查看远程仓库地址 |
git remote -v |
16.clone
| 功能 |
命令 |
|---|
| 克隆代码 |
git clone xxx.git |
17.apply
| 功能 |
命令 |
|---|
| 打patch |
git apply xxx.patch |
18.reflog
| 功能 |
命令 |
|---|
| 查看git操作记录 |
git reflog |