Abstract
一些常用 / 常忘的 git 命令
基础命令
分支
git checkout -b <branch_name>:创建分支,并切换过去git checkout master:回到主分支git push origin <branch_name>:将分支推送到远程仓库git pull:将本地仓库更新git diff <branch_name> master:显示差别
克隆分支
git clone -b <branch_name> <repo_url>:克隆单个分支git branch -a:查看所有分支git checkout -b <branch_name> origin/<branch_name>:关联分支git clone --recursive:克隆时一并克隆子模组
清除命令
git rm --cached <file>:已 add 未 commit 的文件退回未 add 状态git checkout -- <file>:已修改的文件撤销修改git reset --soft HEAD^:撤销 commit(不更改文件)git reset --hard HEAD^:撤销 commit(文件回退到上一版本)git update-ref -d HEAD:撤销第一条 commit(不更改文件)git push -f:强制推送,覆盖 commit
查看
git log
git log: 查看commit信息git log --oneline:单行查看commit信息git log --oneline:查看commit信息,并以图形化方式显示分支和合并历史。
eg:
git log --oneline --graph
|\
| * ed7e644 Merge pull request #1 from xigongyixue/main
| |\
| | * e466763 Create newfile
| |/
* | 1db2e2e change algo and datastructure to 'algods' folder
* | a10f49c delete useless algo problems
|/
...
git diff
git diff --cached:查看已经缓存的改动git diff --stat:现身改动的摘要信息git diff -M[50]表示自动检查文件的移动,文件重复50%以上的会被看作修改,可以自行修改