1 创建库
2 $mkdir learngit
3 $cd learngit
4 $pwd(查看当前库目录)
5
6 将目录变成管理仓库
7 $git init
8
9 将文件提交到仓库
10 $git add readme.txt
11 $git commit -m "worote a readme file"
12
13 添加文件步骤
14 第一步用$git add 把文件添加进去
15 第二步用$git commit提交更改
16 暂存区方式进行存放
17 git管理核心是#管理修改#不是管理文件
18
19 随时掌握工作区状态
20 $git status
21
22 查看修改内容
23 $git diff file_name
24
25 查看历史记录
26 $git log
27 $git log --pretty=oneline
28
29 当前版本退回到上一版本
30 $git reset --hard HEAD^
31
32 查看当前版本
33 $cat file_name
34
35 退回到最新版本
36 $git reset --hard commit ID
37
38 查看命令记录
39 $git reflog
40
41 丢去工作区修改
42 $git checkout --file_name
43
44 删除文件
45 $rm file_name
46 $git rm file_name
47
48 版本库版本替换工作区版本
49 $git checkout -- file_name
50
51 github添加远程库
52 $git remote add origin git@github.com: github ID/learngit.git
53 (origin远程库名字)
54
55 本地库所有内容推送到远程库(第一次推送)
56 $git push -u origin master
57
58 本地提交后可通过命令
59 $git push origin master(将本地master分支的最新推送至github)
60
61 远程克隆到本地库
62 $git clone git@github.com:Dimoango/name(需要克隆库名).git
63 $cd name
64 $ls
65
66 创建与合并分支
67 创建dev分支,切换到dev分支
68 $git checkout -b dev
69 git checkout命令加上-d参数表示创建并切换
70 相当于git branch dev
71 git checkout dev
72 查看分支
73 $git branch
74
75 分支工作完成换回master
76 $git checkout master
77
78 查看远程库信息,使用git remote -v;
79
80 本地新建的分支如果不推送到远程,对其他人就是不可见的;
81
82 从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;
83
84 在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
85
86 建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;
87
88 从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。
89 将dev分支工作合并到master分支上
90 $git merge dev
91
92 删除dev分支
93 $git branch -d dev
94
95 git log --graph命令可以看到分支合并图。
96
97 删除issue-101分支
98 $ git checkout master
99 $ git merge --no-ff -m "merged bug fix 101" issue-101
100
101 保存现场
102 工作现场git stash一下
103 再git stash pop,回到工作现场
104
105 丢弃一个没有被合并过的分支,可以通过git branch -D <name>强行删除。
106
107 查看远程库
108 $git remote -v
109
110 切换到需要打标签的分支上
111 git tag <name>就可以打一个新标签
112 可以用命令git tag查看所有标签:
113
114 命令git tag <name>用于新建一个标签,默认为HEAD,也可以指定一个commit id;
115
116 git tag -a <tagname> -m "blablabla..."可以指定标签信息;
117
118 git tag -s <tagname> -m "blablabla..."可以用PGP签名标签;
119
120 命令git tag可以查看所有标签。