本文主要介绍 Git 常用的基本命令。
基本命令
仓库相关命令
- 创建新仓库
1 | git init |
- 克隆项目
1 | git clone https://github.com/Erik-ly/git-test.git |
- 查看当前配置
1 | git config --list |
- 配置用户名
1 | git config --global user.name "xxx" |
- 配置邮箱
1 | git config --global user.email "xxx@xxx.com" |
提交相关命令
- 添加某个文件到暂存区
1 | git add test.txt |
- 添加所有文件到暂存区
1 | git add . |
- 查看仓库当前状态
1 | git status |
- 显示变更信息
1 | git diff |
- 提交暂存区到本地仓库
1 | git commit -m "add test file" |
- 下载远程代码并合并
1 | git pull |
- 上传远程代码并合并
1 | git push |
- 查看历史提交记录
1 | git log |
分支相关命令
- 显示本地分支
1 | git branch |
- 显示所有分支
1 | git branch -a |
- 获取所有远程分支
1 | git fetch |
- 切换远程分支到本地
1 | git checkout -b dev origin/dev |
- 切换分支
1 | git checkout release |
- 创建一个分支,并切换到该新分支
1 | git checkout -b dev |
- 基于当前 HEAD 创建新分支
1 | git branch release |
- 将本地分支上传到远程
1 | git push origin dev |
- 删除本地分支(删除其他分支,不能删除当前分支, -D 是强制删除)
1 | git branch -d dev2 |
- 合并特定 commit 到另一个分支
比如我在 dev 分支修改了一个bug,提交为 “fix bug-7”,现在需要把 dev 分支的这个代码合并到 release 分支。
首先在需要合并的 commit 所在的分支下使用 git log 查看,找到 “fix bug-7” 的 commit 为 “072a2e524c9fe3d082dfce37762e4a43e200484c”,按 Q 键退出日志查看。
1 | Erik@DESKTOP-M3B942V MINGW64 ~/IdeaProjects/git-test (dev) |
然后切换到 release 分支。
在 release 分支上执行执行 pick 操作
1 | git checkout release |
tag 相关命令
- 显示已存在的 tag
1 | git tag |
- 创建 tag
1 | git tag -a v1.0 -m "v1.0 tag" |
- 删除本地 tag
1 | git tag -d v1.0 |
- 查看 tag 信息
1 | git show v1.0 |
- 推送所有 tag 到远程仓库
1 | git push --tags |
撤销相关命令
- 恢复暂存区的指定文件到工作区
1 | git checkout file_name |
- 恢复暂存区的所有文件到工作区
1 | git checkout . |
- 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变
1 | git reset [file] |
- 重置暂存区与工作区,与上一次commit保持一致
1 | git reset --hard |
- 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致,commit 之后的版本都会丢失
1 | git reset --hard [commit] |
- 撤销某次操作,此次操作之前和之后的 commit 都会保留
1 | git revert [commit] |
IDEA Git 相关操作
仓库相关操作
- 原有项目引入 Git 管理
原有项目使用 IDEA 打开,依次点击 VCS — Import into Version Control — Create Git Repository…


在弹出的对话框中选择这个项目,点击 “OK” 即可。
下面以项目放到 GitHub 为例,首先在 GitHub 上创建项目,

然后添加源端仓库,



commit 代码后,提交到远程仓库。

- 添加其它远端仓库



Name 写为 非 “origin” 的名字,可根据 Git 仓库工具,比如:GitBucket。之后提交代码的时候可选择改仓库提交。
提交相关操作
- 更新代码
推荐使用下图红框中标注的按钮拉取更新代码,快捷键 Ctrl + T ,这种会更新全部,拉取新的分支,自动 merge 等,不容易出错。


- commit 提交代码
使用快捷键 Ctrl + K, 提交代码

- Push 代码
使用快捷键 Ctrl + Shift + K push 代码

提交代码步骤
- 更新最新代码(快捷键:
Ctrl + T),将代码更新到最新。 - 修改代码。
- 更新最新代码(快捷键:
Ctrl + T),提交代码之前要先更新代码,在修改代码这段时间内,如果有其他人修改了代码,需要更新,否则可能会覆盖别人的代码,另外这时更新,如果有 Merge 的情况,会自动 Merge,或让自己来 Merge 代码,在提交记录里不会出现大量的 Merge 记录。 - Add 代码,无特殊情况,在项目上执行下 ADD 操作,将自己新加的或之前 Merge 的一些文件 add 进来;
- Commit 代码(快捷键:
Ctrl + K),注意写清楚修改了哪些内容,尽量一个功能一个 commit,可以在 commit 对话框中选择本次要提交的文件; - Push 代码(快捷键:
Ctrl + Shift + K),提交代码时注意将要提交到哪个分支,这里 push 所有 commit,无法选择某个 commit push。
分支相关操作
- checkout 新分支


- 切换分支

- 删除本地分支

- 将本地分支推送到远端
如在本地 checkout 出一个 “release-1.0” 分支,需要将这个分支推送到远端,则可以使用 Ctrl + Shift + K 进行 Push,在弹出框中看到 ”release-1.0 → origin:release-1.0“,如果不是这样,则可点击分支进行手动修改(红框中带有下划线部分均可点击后修改),点击 ”Push“ 按钮进行提交即可。

- 查看提交记录

- 查看某个分支的提交记录
可以选择本地的分支

也可以通过 “Select…” 手动输入特定分支,按 Ctrl + Enter 确定


- Pick 合并 commit 到其它分支

如果需要 Merge


tag 相关操作
- 创建 tag
在某个 commit 又键,选择 “New Tag …”

然后输入 tag 名称

最后推送到远端,注意要勾选 “Push Tags”

撤销相关操作
- reset 操作

- revert 操作

参考资料
- Git 基本操作 | 菜鸟教程:https://www.runoob.com/git/git-basic-operations.html
- git命令大全:https://gist.github.com/Erik-ly/d68cc402fade0ef6b960ca8fc5603949
- 常用 Git 命令清单 - 阮一峰的网络日志:http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html
- Git恢复之前版本的两种方法reset、revert(图文详解):https://blog.csdn.net/yxlshk/article/details/79944535
- git revert 用法 - demoblog - 博客园:https://www.cnblogs.com/0616--ataozhijia/p/3709917.html
- Git合并特定commits 到另一个分支:https://blog.csdn.net/ybdesire/article/details/42145597