学习、工作和狗粮

Git常用命令记录

2018/01/27 Share

Plugin:git 下插件命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
g	git
ga git add
gaa git add --all
gapa git add --patch
gb git branch
gba git branch -a
gbda git branch --merged | command grep -vE "^(*|\smaster\s$)" | command xargs -n 1 git branch -d
gbl git blame -b -w
gbnm git branch --no-merged
gbr git branch --remote
gbs git bisect
gbsb git bisect bad
gbsg git bisect good
gbsr git bisect reset
gbss git bisect start
gc git commit -v
gc! git commit -v --amend
gca git commit -v -a
gcam git commit -a -m
gca! git commit -v -a --amend
gcan! git commit -v -a -s --no-edit --amend
gcb git checkout -b
gcf git config --list
gcl git clone --recursive
gclean git clean -df
gcm git checkout master
gcd git checkout develop
gcmsg git commit -m
gco git checkout
gcount git shortlog -sn
gcp git cherry-pick
gcpa git cherry-pick --abort
gcpc git cherry-pick --continue
gcs git commit -S
gd git diff
gdca git diff --cached
gdt git diff-tree --no-commit-id --name-only -r
gdw git diff --word-diff
gf git fetch
gfa git fetch --all --prune
gfo git fetch origin
gg git gui citool
gga git gui citool --amend
ggf git push --force origin $(current_branch)
ghh git help
ggpull ggl
ggpur ggu
ggpush ggp
ggsup git branch --set-upstream-to = origin/$(current_branch)
gpsup git push --set-upstream origin $(current_branch)
gignore git update-index --assume-unchanged
gignored git ls-files -v | grep "^:lower:"
git-svn-dcommit-push git svn dcommit && git push github master:svntrunk
gk \gitk --all --branches
gke \gitk --all $(git log -g --pretty = format:%h)
gl git pull
glg git log --stat --color
glgg git log --graph --color
glgga git log --graph --decorate --all
glgm git log --graph --max-count = 10
glgp git log --stat --color -p
glo git log --oneline --decorate --color
glog git log --oneline --decorate --color --graph
glol git log --graph --pretty = format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
glola git log --graph --pretty = format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --all
glp _git_log_prettily
gm git merge
gmom git merge origin/master
gmt git mergetool --no-prompt
gmtvim git mergetool --no-prompt --tool = vimdiff
gmum git merge upstream/master
gp git push
gpd git push --dry-run
gpoat git push origin --all && git push origin --tags
gpristine git reset --hard && git clean -dfx
gpu git push upstream
gpv git push -v
gr git remote
gra git remote add
grb git rebase
grba git rebase --abort
grbc git rebase --continue
grbi git rebase -i
grbm git rebase master
grbs git rebase --skip
grh git reset HEAD
grhh git reset HEAD --hard
grmv git remote rename
grrm git remote remove
grset git remote set-url
grt cd $(git rev-parse --show-toplevel || echo ".")
gru git reset --
grup git remote update
grv git remote -v
gsb git status -sb
gsd git svn dcommit
gsi git submodule init
gsps git show --pretty = short --show-signature
gsr git svn rebase
gss git status -s
gst git status
gsta git stash save
gstaa git stash apply
gstd git stash drop
gstl git stash list
gstp git stash pop
gstc git stash clear
gsts git stash show --text
gsu git submodule update
gts git tag -s
gunignore git update-index --no-assume-unchanged
gunwip git log -n 1 | grep -q -c "--wip--" && git reset HEAD~1
gup git pull --rebase
gupv git pull --rebase -v
glum git pull upstream master
gvt git verify-tag
gwch git whatchanged -p --abbrev-commit --pretty = medium
gwip git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit -m "--wip--"

基础命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# 查看全局配置
git config --list --global

# 查看单项配置
git config --get user.name

# 全局配置用户名
git config --global user.name [用户名]

# git config --global alias.[别名] [别名对应的git命令]
# 如co -> git checkout
git config --global alias.co checkout

# 列出所有本地分支
$ git branch

# 列出所有远程分支
$ git branch -r

# 列出所有本地分支和远程分支
$ git branch -a

# 新建一个分支,但依然停留在当前分支
$ git branch [branch-name]

# 新建一个分支,并切换到该分支
$ git checkout -b [branch]

# 如何获取本地没有,但是远程有的一个分支
# 1.拉取远程对应分支到本地,作为【远程对应分支的本地更新分支】
$ git fetch <远程主机名> <分支名>
# 2.取回远程主机的更新以后,可以在它的基础上,使用git checkout命令创建一个新的分支。
$ git checkout -b newBrach origin/master

# 新建一个分支,指向指定commit
$ git branch [branch] [commit]

# 新建一个分支,与指定的远程分支建立追踪关系
$ git branch --track [branch] [remote-branch]

# 切换到指定分支,并更新工作区
$ git checkout [branch-name]

# 切换到上一个分支
$ git checkout -

# 建立追踪关系,在现有分支与指定的远程分支之间
$ git branch --set-upstream [branch] [remote-branch]

# 合并指定分支到当前分支
$ git merge [branch]

# 取消当前合并,在出现冲突的情况下
git merge --abort

# 选择一个commit,合并进当前分支
$ git cherry-pick [commit]

# 删除分支
$ git branch -d [branch-name]

# 删除远程分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]
CATALOG
  1. 1. Plugin:git 下插件命令
  2. 2. 基础命令