git 常用命令

1. 提交和拉取

1
2
3
4
5
6
7
8
# 暂存所有文件
git add .
# 暂存并提交
git commit -am
# push 到远程 git
git push
# 从远程 git 下拉到本地 git
git pull

2. 查看

1
2
3
4
5
6
7
8
git status
# 查看不同
git diff
# 查看日志
# git log --pretty=oneline --abbrev-commit
git log
# 查看你的每一次命令
git reflog

3. 回退

1
2
3
4
# 回退上一次提交,保留暂存区
git reset --soft HEAD^
# 回退到指定版本
git reset HEAD <file>

4. 检出

1
2
3
4
5
6
# 拉取暂存区文件到工作区
git checkout -- <file>
# 切换分支
git checkout branchName
# 新建并检出分支
git checkout -b dev => git branch dev & git checkout dev

5. 远程

1
2
3
4
5
6
7
8
# 查看远程库的信息
git remote
# 显示了可以抓取和推送的 origin 的地址
git remote -v
# 添加远程地址
git remote add origin git@github.com:xxxxx
# 从远程 git 上 clone 项目
git clone git@github.com:xxxxx

6. 分支

1
2
3
4
5
6
7
8
# 查看分支
git branch
# 创建 dev 分支
git branch dev
# 删除 dev 分支
git branch -d dev
# 强行删除 dev 分支
git branch -D dev

7. 合并

1
2
3
4
5
6
7
8
# 合并 dev 分支到当前分支
git merge dev
# 强制禁用 Fast forward
git merge --no-ff -m "merge branch 'dev' into master" dev
# 变基
# 比较 git merge 合并整合得到的结果没有任何区别,但是通过 git rebase 衍合能产生一个更为整洁的提交历史。
# 把解决分支补丁同最新主干代码之间的冲突的责任,划转给由提交补丁的人来解决
git rebase

8. 暂存

1
2
3
4
5
6
7
8
9
10
11
git stash
# 添加注释
git stash save "message"
# 存储列表
git stash list
# 使用某个存储,不删除
git stash apply
# 删除某个存储
git stash drop
# 使用并删除某个存储
git stash pop

9. 标签

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 建一个新的标签
git tag v1.0
# id 为 f52c633 的 commit 打标签
git tag v0.9 f52c633
# 删除标签
git tag -d v0.1
# 推送标签
git push origin v1.0
# 推送全部标签
git push origin --tags
# 删除远程标签
git push origin :refs/tags/v0.9
# 查看所有标签
git tag
# 带有说明的标签
git tag -a v0.1 -m "version 0.1 released" 1094adb
# 查看标签信息
git show v0.9

参考