-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
205 lines (187 loc) · 13.6 KB
/
index.html
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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link href="./static/css/base.css" rel="stylesheet">
<link href="./static/css/tailwind.min.css" rel="stylesheet">
<link href="https://fonts.font.im/css?family=Source+Serif+Pro%7CLato%7CInconsolata" rel="stylesheet"
type="text/css">
<title> txt </title>
<!-- browser favicon -->
<link rel="shortcut icon" href="./static/img/favicon.png">
<style>
.font-sans {
font-family: 'Lato', 'SimHei', 'STHeiti', 'SimHei', 'Serif';
}
.font-serif {
font-family: 'Source Serif Pro', 'Songti SC', 'SimSun', 'Serif', serif;
}
</style>
<!-- <link rel="stylesheet" href="https://jyywiki.cn/static/katex/katex.min.css">
<script defer src="https://jyywiki.cn/static/katex/katex.min.js"></script> -->
<link rel="stylesheet" href="./static/katex/katex.min.css">
<script defer src="./static/katex/katex.min.js"></script>
<!-- <script defer src="https://jyywiki.cn/static/katex/auto-render.min.js"
integrity="sha384-+VBxd3r6XgURycqtZ117nYw44OOcIax56Z4dCRWbxyPt0Koah1uHoK0o4+/RRE05"
crossorigin="anonymous"></script> -->
<script defer src="./static/katex/auto-render.min.js"></script>
<script src="plugin/markdown/markdown.js"></script>
<script>
document.addEventListener("DOMContentLoaded", function () {
renderMathInElement(document.body, {
// customised options
// • auto-render specific keys, e.g.:
delimiters: [
{ left: '$$', right: '$$', display: true },
{ left: '$', right: '$', display: false },
{ left: '\\(', right: '\\)', display: false },
{ left: '\\[', right: '\\]', display: true }
],
// • rendering keys, e.g.:
throwOnError: false
});
});
</script>
<link rel="stylesheet" href="./static/reveal/reveal.css">
<link rel="stylesheet" href="./static/reveal/theme/simple.css" id="theme">
<link rel="stylesheet" href="./static/jyy/jyy.css">
</head>
<body class="d-flex flex-column h-100">
<div class="reveal">
<div class="slides">
<section><section><div class="center middle"><div style="width:100%"><div><p class="font-serif my-1"><img alt="" src="./static/img/bb746895972346ddbf9e91d3ff7c37c5.png"/></p>
<h1 id="git" class="text-2xl mt-2 font-sans">git快速入门</h1>
<blockquote>
<p class="font-serif my-1">报告者:张佳昕</p>
<p class="font-serif my-1">2023-12-10</p>
<p class="font-serif my-1">门牌号</p>
<p class="font-serif my-1">内部交流,请勿外传</p>
</blockquote></div></div></div></section></section><section><section><div class="center middle"><div style="width:100%"><div><h1 id="git" class="text-2xl mt-2 font-sans">git作用简介:</h1>
<ul class="list-disc font-serif">
<li class="ml-8">想象一下你正在写代码, 你今晚的目标是实现某一个新功能, 不然就不睡觉. 经过千辛万苦,你终于把代码写好了, 保存并编译运行, 你看到调试信息一行一行地在终端上输出. 就要看到成功的曙光的时候, 竟然发生了段错误! 你仔细思考, 发现你之前的构思有着致命的错误,但之前正确运行的代码已经永远离你而去了。你悲痛欲绝, 绝望地倒在屏幕前... </li>
</ul><div class="fragment" data-fragment-index="1"><ul class="list-disc font-serif">
<li class="ml-8">如果你会使用git就可以避免以上悲剧的发生。git是分布式版本控制系统。git具有游戏存档一样的功能,能够让你在过去和未来中随意穿梭, 避免构思错误的悲剧降临你的身上。</li>
</ul></div></div></div></div></section></section><section><section><div><h2 id="git" class="text-xl mt-2 pb-2 font-sans">git快速入门、</h2>
<h3 id="1ubuntugit">1.在Ubuntu上下载安装git的命令:</h3>
<p class="font-serif my-1"><code>sudo apt-get install git</code></p><div class="fragment" data-fragment-index="1"><h3 id="2">2.安装后的配置命令:</h3>
<p class="font-serif my-1">1|git config --global user.name "Zhang San" # your name</p>
<p class="font-serif my-1">2|git config --global user.email "[email protected]" # your email</p>
<p class="font-serif my-1">3|git config --global core.editor vim # your favourite editor</p>
<p class="font-serif my-1">4|git config --global color.ui true</p></div><div class="fragment" data-fragment-index="2"><h3 id="3">3.下载实验提供的框架代码:</h3>
<blockquote>
<p class="font-serif my-1">git clone
如果想在别的实验/或者项目中使用git,应该先进行初始化:
git init</p>
</blockquote></div></div></section></section><section><section><div><h2 id="4" class="text-xl mt-2 pb-2 font-sans">4.查看目前所有的存档:</h2>
<blockquote>
<p class="font-serif my-1">命令:git log
第一次使用这个命令,内容应该为空。接下来我会叫大家如何存档</p>
</blockquote>
<div style="text-align: center;">
<img src="./static/img/2b00bff7c2b346168b83684564556cef.jpg" width="50%" height="40%" style="display: inline-block; margin-left: auto; margin-right: auto;"/>
</div></div></section></section><section><section><div><h2 id="5" class="text-xl mt-2 pb-2 font-sans">5.查看所有已跟踪文件的命令(已跟踪的文件是存档文件的前身):</h2>
<blockquote>
<p class="font-serif my-1">git status
查看是否有新的文件或已修改的文件未被跟踪, 若有, 则使用 git add 将文件加入跟踪列表, 例如
git add filename
想要一次性添加所有当前目录下的文件,你可以使用:
git add -A</p>
</blockquote><div class="fragment" data-fragment-index="1"><blockquote>
<p class="font-serif my-1">但这样会出现弊端,它会将很多不必要的文件也进行跟踪,第一个就是不需要使用的文件,第二个就是因为编译而产生的可执行的二进制文件(binary文件)编译后的binary文件其实是比较大的,要比源码大很多。其实只需要上传源代码即可。</p>
</blockquote></div></div></section></section><section><section><div class="center middle"><div style="width:100%"><div><h1 id="6gitignore" class="text-2xl mt-2 font-sans">6.接下来介绍一种可以忽略你不需要跟踪的文件的方法——使用gitignore文件:</h1>
<blockquote>
<p class="font-serif my-1">在gitignore文件里的文件名,会被跟踪忽略
a.首先需要在你的工作区(项目的根目录)下建立一个名称为gitignore的文件,然后把想要忽略的文件名填进去,这样在git status和git add就会自动忽略在.gitignore中的文件名</p>
<p class="font-serif my-1">命令1:
touch .gitignore #隐藏文件 .gitignore(linux下以.开头的文件都是隐藏文件)</p>
</blockquote></div></div></div></section></section><section><section><div><h2 id="bvim" class="text-xl mt-2 pb-2 font-sans">b.然后用vim打开文件进行编辑:</h2>
<blockquote>
<p class="font-serif my-1">将你不想跟踪和存档的文件写入此文件当中,就像我写的1124.c</p>
</blockquote>
<p class="font-serif my-1"><img src="./static/img/6a364bbb797f4ea691c87c586427f1b3.jpg" width="40%" height="40%" style="display: block; margin-left: auto;margin-right: auto;"/></p></div></section></section><section><section><div><h2 id="_1" class="text-xl mt-2 pb-2 font-sans">接下来演示一下忽略的效果:</h2>
<p class="font-serif my-1"><img src="./static/img/39d46a5eda3c43ee9b403f70898ed5ee.jpg" width="50%" height="50%" style="display: block; margin-left: auto;margin-right: auto;"/></p></div></section></section><section><section><div><blockquote>
<p class="font-serif my-1">在我用vim编辑了gitignore文件后,可以看出1124.c文件没有了,它被隐藏在了.gitignore当中</p>
</blockquote><div class="fragment" data-fragment-index="1"><blockquote>
<p class="font-serif my-1">其实也可以忽略一类文件</p>
<p class="font-serif my-1">*.xml</p>
<p class="font-serif my-1">*.log</p>
<p class="font-serif my-1">*.apk</p>
<p class="font-serif my-1">*.c</p>
<p class="font-serif my-1">*表示匹配0个或多个任意字符</p>
</blockquote></div></div></section></section><section><section><div><blockquote>
<p class="font-serif my-1">7.学会了跟踪之后,再加一个命令就可以实现存档了:</p>
<p class="font-serif my-1">git commit #将跟踪文件进行存档</p>
</blockquote></div></section></section><section><section><div><blockquote>
<p class="font-serif my-1">8.读档:
首先使用git log来查看已有的存档,并决定你需要回到哪个过去,每一份存档都有一个hash code ,例如b87c2324525wr21243242,你需要通过hash code来告诉git你希望都哪一个档,使用以下命令进行读档:</p>
<p class="font-serif my-1">git reset –hard b87c</p>
<p class="font-serif my-1">其中b87c上文hash code的前缀: 你不需要输入整个hash code. 这时你再看看你的代码, 你已经成功地回到了过去!</p>
</blockquote></div></section></section><section><section><div><blockquote>
<p class="font-serif my-1">你需要再三确认选择的存档是不是你的真正目标. 如果你读入了一个较早的存档, 那么比这个存档新的所有记录都将被删除! 这意为着你不能随便回到"将来"了.</p>
</blockquote><div class="fragment" data-fragment-index="1"><blockquote>
<p class="font-serif my-1">但是方法总比困难多,git分支可以避免这些问题的出现</p>
</blockquote></div></div></section></section><section><section><div><h2 id="9git" class="text-xl mt-2 pb-2 font-sans">9.git分支</h2>
<blockquote>
<p class="font-serif my-1">使用git分支就可以在不同的时间节点之间来回随意穿梭,你可以以你存档的那个节点作为主分支,在此基础上不断开设新的分支,用来记录你在主分支基础上更新的内容,因为你可以在分支之间反复横跳,所以你就可以来回穿梭于在主存档(主分支基础上)的各个时间节点(分支)。
那么该如何建立分支呢?</p>
</blockquote><div class="fragment" data-fragment-index="1"><blockquote>
<p class="font-serif my-1">以我的407a存档为例演示
a.首先使用以下命令进行读档:
'git checkout 407a' #进入虚构的分支当中
b.使用命令进入主分支:
'git checkout master' #进入主分支</p>
</blockquote></div></div></section></section><section><section><div><h2 id="_1" class="text-xl mt-2 pb-2 font-sans">然后你可以使用命令来建立多个分支:</h2>
<blockquote>
<p class="font-serif my-1">git branch branchname #建立一个新的分支</p>
</blockquote></div></section></section><section><section><div><h2 id="_1" class="text-xl mt-2 pb-2 font-sans">跳转不同分支的命令:</h2>
<blockquote>
<p class="font-serif my-1">git checkout branchname #跳转到指定分支
我们为什么要建立那么多的分支呢?</p>
</blockquote><div class="fragment" data-fragment-index="1"><blockquote>
<p class="font-serif my-1">接下来我用一个实际的例子来解释为什么要使用分支</p>
</blockquote></div></div></section></section><section><section><div><blockquote>
<p class="font-serif my-1">1.首先我使用git checkout master进入了主分支</p>
<p class="font-serif my-1">2.然后我再虚构分支中,找一个文件进行内容修改,比如我再zjx空文件写入了zjx666并保存,这个保存与存档一样,需要输入存档命令的</p>
<p class="font-serif my-1">1|git add zjx</p>
<p class="font-serif my-1">2|git commit</p>
</blockquote></div></section></section><section><section><div><h2 id="_1" class="text-xl mt-2 pb-2 font-sans">接下来就是见证奇迹的时刻了</h2>
<p class="font-serif my-1"><img src="./static/img/dd54377e71ae4180978fe1fcb09da34d.jpg" width="30%" height="30%" style="display: block; margin-left: auto;margin-right: auto;"/></p>
<blockquote>
<p class="font-serif my-1">我在master主分支进行了编辑操作,当我使用命令进入1124c分支后,甚至连zjx这个文件都没有。
这说明了一个道理,各个分支直接相互独立,互不干涉,这样你就可以随时进入各个时间节点,就像平行时空一样!</p>
</blockquote></div></section></section><section><section><div><p class="font-serif my-1"><img alt="" src="./static/img/0efd786e27a248559017530e507aef3b.png"/></p>
<blockquote>
<div class="codehilite"><pre class="bg-gray-100 overflow-x-auto rounded p-2 mb-2 mt-2"><span/><code> 讨论
5-10min
</code></pre></div>
</blockquote></div></section></section><section><section><div><p class="font-serif my-1"><img alt="" src="./static/img/63eca5f4c85e45669034d7ea726098c8.png"/></p>
<blockquote>
<div class="codehilite"><pre class="bg-gray-100 overflow-x-auto rounded p-2 mb-2 mt-2"><span/><code> 谢谢
Thanks
2023-12-10
门牌号
内部交流,请勿外传
</code></pre></div>
</blockquote></div></section></section>
</div>
</div>
<script src="./static/reveal/reveal.js"></script>
<script>
Reveal.initialize({
width: 1024, height: 768,
slideNumber: 'c/t',
controlsTutorial: false,
progress: false,
hash: true,
center: false,
autoAnimateUnmatched: true,
autoAnimateEasing: 'ease-out',
autoAnimateDuration: 0.3,
transitionSpeed: 'fast'
});
</script>
</body>
</html>