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
# 创建分支
git branch [new branch name]
# 切换分支
git checkout
# 前两步可以一步到位:git checkout -b [new branch name]
# 创建并关联分支
git push --set-upstream origin branchName

# 设置git push,pull默认的提交获取分支
git branch --set-upstream-to=origin/branchName
# 取消对master的跟踪
git branch --unset-upstream master
# 查看本地分支与远程关联关系
git branch -vv

# 强制拉取远程分支覆盖本地分支
# git fetch 只是下载远程的库的内容,不做任何的合并
# git reset 把HEAD指向刚刚下载的最新的版本
git fetch --all && git reset --hard origin/master && git pull

# 回退到上个版本
git reset --soft HEAD^ # 保留代码
git reset --hard HEAD^ # 删除代码
# 回退到前3次提交之前
git reset --hard HEAD~3
# 想撤销之前的某一版本,但是又想保留该目标版本后面的版本
git revert -n 版本号
# 查看本地的版本信息
git log

# 列出标签
git tag
# 创建标签
git tag -a v1.0.0 -m "version 1.0.0"
# 删除标签
git tag -d v1.0.0
# git push默认不会把tag标签传送到远端服务器上
# push单个tag
git push origin [tagname]
# push所有tag
git push --tags


# 暂存工作区的文件
git stash save '自定义描述'
# 查看所有暂存列表
git stash list
# 恢复暂存的文件,直接将最近一次 stash 的代码pop出来并删除stash记录,还原到stash隐藏之前
git stash pop
# 恢复暂存的文件,和git stash pop功能一样,先通过git stash list找到记录编号,通过编号id恢复。区别在于git stash apply id不会删除stash记录。
git stash apply id
# 清空stash
git stash clear
# 删除指定队列stash
git stash drop id