说明:[] 表示可选项,<> 表示变量,/ 表示或者
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操作了,不然命令操作起来还是挺麻烦的,整理以上命令仅仅是为了方便查阅和学习。