0%
版本管理工具git的常用命令整理。
配置操作
全局配置
1 2
| git config --global user.name 'your name' git config --global user.email 'your email'
|
当前仓库配置
1 2
| git config --local user.name 'your name' git config --local user.email 'your email'
|
查看global配置
1
| git config --global --list
|
删除global配置
1
| git config --unset --global
|
删除当前仓库配置
1
| git config --unset --local
|
本地仓库管理
查看变更情况
将当前目录及其子目录下所有变更都加入到暂存区
将仓库内所以变更都加入到暂存区
将指定文件添加到暂存区
1
| git add file1 file2 file3
|
比较工作区和暂存区的所有差异
比较某文件区和暂存区的差异
比较暂存区和HEAD的所有差异
比较某文件暂存区和HEAD的差异
比较某文件工作区和HEAD的差异
创建commit
将工作区指定文件恢复成和暂存区一致
1
| git checkout file1 file2 file3
|
将暂存区指定文件恢复成和HEAD一致
1
| git reset file1 file2 file3
|
将暂存区和工作区所有文件恢复成和HEAD一样
1
| git difftool commit1 commit2
|
查看哪些文件没有被git管控
将未处理完的变更先保存在stash中
临时任务处理完后继续之前的工作
1 2
| git stash pop git stash apply
|
查看所有stash
取回某次stash的变更
1
| git stash pop stash@{数字n}
|
优雅修改最后一次commit
1 2
| git add . git commit --amend
|
分支操作
查看当前工作分支及本地分支
查看本地和远程分支
查看远程分支
切换到指定分支
基于当前分支创建新分支
基于指定分支创建新分支
基于某个commit创建分支
1
| git branch 新分支 commit的id
|
创建并切换到该分支,此分支以当前的master为基础创建
安全删除本地某分支
强行删除本地某分支
删除已合并到master分支的所有本地分支
1
| git branch --merged master | grep -v '^\*\| master' | xargs -n 1 git branch -d
|
删除远端origin已不存在的所有本地分支
将A分支合入到当前分支中且为merge创建commit
将A分支合入到B分支中且为merge创建commit
将当前分支基于B分支做rebase,以便B分支合入当前分支
将A分支基于B分支做rebase,以便B分支合入A分支
变更历史
当前分支各个commit用一行显示
显示最近的n个commit
用图示显示所有分支的历史
1
| git log --oneline --graph --all
|
查看涉及到某文件变更的所有commit
某文件各行最后修改对应的commit以及作者
标签操作
查看已有标签
新建标签
新建带备注标签
给指定的commit打标签
推送一个本地标签
推送全部未推送过的本地标签
删除一个本地标签
删除一个远端标签
1
| git push origin :refs/tags/v1.0
|
远程交互
查看所有远端仓库
添加远端仓库
删除远端仓库
1
| git remote remove remote的名称
|
重命名远端仓库
1
| git remote rename 旧名称 新名称
|
将远端所有分支和标签的变更都拉到本地
将远端分支的变更拉到本地,且merge到本地分支
将本地分支push到远端
删除远端分支
1 2
| git push remote --delete 远端分支名 git push remote :远端分支名
|