常用git命令

无人久伴 提交于 2020-03-03 20:19:19

前言

之前零零散散记录了一些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
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!