0%

git常用命令总结

init config

1
2
3
4
5
6
$ git config  --global user.name lazycece
$ git config --global user.email lazycece@gmail.com
$ git config --global color.ui auto
$ git config --global color.status auto
$ git config --global color.branch auto
$ git config --global color.diff auto

仓库相关

1
2
3
4
5
6
# 添加远程仓库
git remote add remote-branch-name remote-repository
# 查看本地仓库对应的远程仓库
git remote -v
# 本地分支与远程分支对应关系
git branch -vv

分支操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 本地仓库当前分支push到远程
git push --set-upstream origin new-branch-name
# 创建本地分支
git branch new-branch-name
# 删除目标分支
git branch -D master
# 删除远程分支
git push origin --delete branch-name
# 切换分支
git checkout branch-name
# 创建本地分支并切换
git checkout -b new-branch-name
# 创建本地分支同时关联远程分支
git checkout -b new-branch-name origin/origin-branch-name
# 清除缓存中已删除的分支
git fetch -p

stash 操作

1
2
3
4
5
6
7
8
9
10
11
12
# 暂存当前修改
git stash
# 列出所有暂存
git stash list
# 取出最新的暂存
git statsh pop
# 取出指定暂存
git stash pop stash@{0}
# 清楚所有暂存
git stash clear
# 删除暂存
git stash drop

merge 操作

1
2
3
4
5
6
git merge --no-ff branch-name
git fetch origin master
git diff local-branch oringin/master
git merge origin/master
git rebase origin/master
git reset merge

tag 操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 列出所有tag
git tag
# 为当前分支最新commit上打tag
git tag tag-name
# 创建带有说明的标签,用-a指定标签名,-m指定说明文字
git tag -a tag-name -m "message"
# 列出commit-id
git log --pretty=oneline --abbrev-commit
# 在某一个commit上打tag
git tag tag-name commit-id
# 查看tag信息
git show tag-name
# 推送tag到远程
git push origin tag-name
# 一次性推送所有tag到远程
git push --tags
# 删除本地标签
git tag -d tag-name
# 删除远程tag
git push origin :refs/tags/tag-name