之前一直借助于 Source-tree 这种图形化 Git 工具,一次在帮同事解决 Git 分支合并问题时,用的同事电脑,没有 Source-tree ,感觉完全不会用了,什么命令也没记住。恶补一下命令,重新学一遍 Git 教程,发现好多常用的操作,用命令还是非常方便的。
这里整理汇总下:
一、Git alias
在开始常用命令前,先推荐下使用 alias 定义 git 常用命令的别名,合理使用简写可以大幅提高效率。
常用 git 命令,可以在 ~/.gitconfig
文件中使用 alias 定义简写,以下是我个人常用 alias:
1 | [alias] |
另,
~/.gitconfig
文件中,可以查看当前 user 的 git 配置信息
二、branch 分支操作
查看分支信息
1 |
|
新建分支
1 | # 从当前分支新建一个分支。但依然停留在当前分支 |
切换分支
1 | # 切换到指定分支,并更新工作区 |
删除分支
1 | # 删除本地分支 |
合并分支
1 | # 合并指定分支到当前分支 |
三、tag 分支操作
在 Git 中 tag 可以看做是指向某个 commit 的特殊分支
列显已有 tag
1 | $ git tag |
添加 tag
1 | $ git tag v1.4.0 |
推送 tag
1 | // git push 不会将本地的 tag push 到 origin |
删除 tag
1 | // 删除本地 tag |
四、git pull
git pull命令的作用是,取回远程主机某个分支的更新,再与本地的指定分支合并。
Merge 型 的 pull
如果本地分支,在 checkout 后,有 commit, git pull 就会增加一个 Merge log
如果本地分支没有 新 commit,等于直接 fetch、pull
1 |
|
rebase 型 pull
1 |
|
五、Git push
1 | // 将当前 loca_name 分支 push 到远端,命名为 new_name |
六、代码回滚
快速合并缓存区到上一个 commit
1 | // 将 add 到缓存区的内容,和上一个 commit 一起, rebase 成了一个新的 commit |
checkout 到指定 commit
这对于快速查看项目旧版本来说非常有用
1 | $ git checkout [commit id] |
git Revert
Revert撤销一个提交的同时会创建一个新的提交。
1 | # 新建一个commit,用来撤销指定commit |
git reset
- 将已经加到缓存区的内容(仅打了本地 commit),移除到工作区
1 | $ git reset HEAD |
- 从缓存区重置,不删除修改的地方
1 | // 将缓存区中的指定文件,移到工作区 |
删除式 reset
1 | // 缓存区和工作区的,都会被完全移除(删除) |
参考:
常用 Git 命令清单 - 阮一峰
Git远程操作详解 - 阮一峰
Git 配置别名 - 廖雪峰
果壳中的 Git
特别推荐:
jaywcjlove —— Git常用命令清单