Git常用命令大全

说明:[] 表示可选项,<> 表示变量,/ 表示或者

1、初次运行 Git 前的配置 git config

git config --list / git config -l         // 查看所有配置

git config --list --show-origin         // 查看所有配置并显示来源

git config --global user.name "John Doe"         // 设置用户名

git config --global user.email [email protected]         //设置邮箱地址

git config user.name         //查看某一项配置

git config --show-origin user.name         // 查看哪个文件最后设置了该值

git config --global alias.<unstage> '<reset HEAD -->'         // 给命令取别名

2、获取帮助

git help config / git config --help         // 获取git config命令的手册(浏览器打开)

git config -h         // 获取git config可用选项的快速参考

3、初始化git仓库

git init         // 初始化仓库

4、克隆git仓库

git clone  [<指定目录名>]         // 克隆仓库所有数据

5、查看文件状态

git status         // 查看文件状态

git status -s / git status --short         // 更简洁的方式查看文件状态

6、添加文件到暂存区

git add <文件/目录>         // 暂存某一个文件

git add .         // 暂存所有文件,根据.gitignore做过滤

git add *         // 暂存所有文件,忽略.gitignore做过滤

7、取消暂存

git reset HEAD         // 取消某个文件的暂存

git reset HEAD *         // 取消所有文件的暂存

8、撤销工作区文件的修改

git checkout --         // 撤销某个文件的修改

git checkout -- *        // 撤销所有文件的修改

9、查看详细修改内容 git diff

git diff         // 查看尚未暂存的文件更新的部分

git diff --staged / git diff --cached         // 查看已暂存文件更新的部分

10、提交代码  git commit

git commit         // 启动你选择的文本编辑器来输入提交说明

git commit -m "xxx"         // 提交信息与命令放在同一行,不启动编辑器

git commit -a -m 'xxx'         // 跳过git add步骤,直接提交

11、修补最后一次提交

git commit --amend         // 启动编辑器,可以修改之前的提交信息

git commit --amend -m ''         // 修改提交信息与命令放在同一行

12、移除文件 git rm

git rm          // 删除工作区文件并暂存

git rm -f         // 强制删除修改过或已经放到暂存区的文件

git rm --cached         // 删除暂存区的文件,但工作区保留

git rm log/\*.log         // 命令后面使用 glob 模式

13、文件重命名

git mv <file_from> <file_to>         // 文件重命名

14、查看提交历史

git log         // 查看所有提交记录

git log --pretty=oneline <文件名>        // 查看某个文件的修改

git log -p [-] /git log -patch [-]         // 查看近n次提交,并显示显示每次提交所引入的差异

git log --stat         // 查看每次提交的简略统计信息

git log --pretty=oneline         // 每个提交放在一行显示

git log --pretty=[format:]"%h - %an, %ar : %s"         // 自定义显示格式

git log --pretty=[format:]"%h %s" --graph         // 形象地展示分支、合并历史

git log --pretty="%h - %s" --author='xxx' --since="xxxx-xx-xx" --before="xxxx-xx-xx" --no-merges --          // 查看xxx在xxxx年xx月期间, 除了合并提交之外的哪一个提交修改了files文件

git log --oneline --decorate         // 查看各个分支当前所指的对象

15、查看/添加远程仓库

git remote         // 查看每一个远程服务器的简写

git remote -v         // 查看每一个远程服务器的简写和url

git remote add         // 添加一个新的远程仓库

git remote remove / git remote rm         //删除某个仓库

git remote show <origin>         // 查看某个远程仓库的更多信息

git remote rename <原名> <重命名>         // 仓库简称重命名

16、抓取与拉取

git fetch [] []         // 拉取所有数据,不会自动合并或修改你当前的工作

git pull [] []        // 自动抓取后合并该远程分支到当前分支

17、推送

git push         // 默认只推送当前分支

git push [ <master>]         // 指定推送的远程仓库名和分支名

git push <remote>          // 推送指定标签

git push         // 推送新分支

git push <remote> --tags         // 推送所有标签

git push :refs/tags/ git push origin --delete         // 推送移除标签

git push origin --delete <serverfix>         // 删除远程分支

18、标签

git tag         // 列出已有标签

git tag -l "v1.8.5*"/git tag --list "v1.8.5*"         // 列出过滤过的标签

git tag -a <v1.4> -m "备注"         // 创建附注标签

git show <v1.4>         // 查看v1.4标签信息

git tag <v1.4-lw>         // 创建轻量标签

git tag -a <v1.4> 9fceb02 -m "备注"         // 给某一次提交打标签

git tag -d <v1.4>         // 删除本地标签

19、检出标签/切换分支

git checkout         // 查看某个标签所指向的文件版本

git checkout -b <version2> <v2.0.0>         // 从标签中拉取一个新分支

git checkout <newbranchname>         // 切换分支

20、分支的创建与合并

git branch <newbranchname>         // 创建分支

git checkout -b         // 创建并切换分支

git branch -d          // 删除本地分支

git branch -d -r         //删除远程分支,删除后还需推送到服务器

git branch -D testing         //强制删除分支,并丢掉分支那些工作

git branch         // 查看本地分支列表

git branch -r        // 查看远程分支列表

git branch -a        // 查看本地和远程分支列表

git branch -v         // 查看每个分支最后的提交

git branch --merged         // 查看哪些分支已经合并到当前分支

git branch --no-merged         // 查看所有包含未合并工作的分支

git branch -m         //重命名本地分支

21、合并

git merge <hotfix>         // 将hotfix分支合并到当前分支上

22、贮藏

git stash        //暂存当前正在进行的工作

git stash pop        //恢复并将stash列表信息删除

git stash apply        //恢复,stash列表信息保留

git stash list        // 查看贮藏列表

23、清理

git clean -n        // 显示将要被删除的文件

git clean -f []       // 删除当前目录下没有跟踪过的文件,不会删除 .gitignore 文件里面指定的文件夹和文件

git clean -df        // 删除当前目录下没有被跟踪过的文件和文件夹

24、版本回退

git reset --hard HEAD^        // 回退到上一个版本

git reset --hard HEAD^^        // 回退到上上个版本

git reset --hard HEAD         // 回退到指定版本

总结:Git命令不仅仅是以上这些,要深究的话还有很多很多,并且每一条命令还有多种搭配使用的选项,每种选项搭配都代表着不同的作用,需要用到的时候可以再研究学习,以上命令参考自https://git-scm.com/book/zh/v2/ 前三章。

工作中,大家应该都使用可视化工具进行git操作了,不然命令操作起来还是挺麻烦的,整理以上命令仅仅是为了方便查阅和学习。

你可能感兴趣的:(git)