# 三人行,必有我師焉
*Clooooode*
*YoMin Su*
---
## 想像一下
----

這是你的專案,超多程式碼。
----

裏面有一堆檔案,不是很亂,
但是開發階段,你很熟悉。
----

經過了一段時間的努(轟)力(炸),
終於該死的程式可以釋出了。
----

你的程式交出去之後,老師覺得不錯,OK。
----

又過了一段時間,你差不多把這些程式碼都從腦袋裡丟掉了...
----

老師把你找來,跟你說:
----

「可以多加個功能嗎?」
---
「Fuck......」
----

程式碼早就被你從腦子裡丟掉了,
為了不要把東西改壞然後爆炸,你只好..
----

把原本好的程式碼,複製貼上然後標註version1
然後從version2開始寫下去。
----

這樣子往復幾次之後...
----

你的資料夾應該會變成這樣..
----

然後每次東西改壞要復原的時候,
就會很想拿槍斃了自己。
----

如果老師叫你恢複成某次的變動,
你會接著想拿槍斃了老師。
----
爪對會...(台)
---
### So what is git?
----

恩對,他的作者也是Linus。
THE。大神。
----
起因是Linux的Kernel版本控制軟體公司,
因為一些原因停止了無償使用的授權,
然後大神爸爸花十天寫了一個替代的軟體。
----
度,就是git...
----



---
### Type
----
#### Local

----
#### Central

----
#### Distributed

---
## 指令,我要進來囉
----
### Git 初始化
###### 從來沒用過....
```shell=
git init
```
> 總要開始的麻~
----
### 把東西抓下來
###### 另一個開專案的好朋友
```shell=
git clone
```
> 這東西不會用,GitHub就不好玩了
----
### 目前狀態
###### 我是誰,我在哪,這裡是哪裡的最佳指令
```shell=
git status
```
> 顯示至今為至的操作
----
### 一切的紀錄
###### 開IDE就會用一次,以免成就感能量不夠
```shell=
git log --oneline --graph --decorate --all
```
> 成就感爆澎的部份
----

----
### 以上指令,將陪伴你一輩子
----
###### 除非你不幹這行(或是回家做粉粿)

沒錯這是置入
----
### 玩轉Git,種樹累積成就的奇幻旅程
## 始まるよ❤️
----
### 好,第一棵樹出現了
##### HEAD是啥

----
### 給加嗎?
###### 忘記上一次用是什麼時候了
```shell=
git add .
```
> 你不加,還做啥版控?
----
### 對不起,我錯了
```shell=
git rm --cached <file>
```
> 清掉你剛剛加進暫存的東西
----
### 做一個提交
###### 誰am我就幹誰
```shell=
git commit
```
> 你覺得該紀錄時,做就對了
----
### 顯示修改
###### 學長表示:IDE的最好用,這東西一年用不到三次
```shell=
git diff
```
> 顯示從上一次Commit到現在的修改
----
### 是不是覺得Git超神奇超萬能?
##### 接下來還有更神奇的...
----
### 於是分支出現了
```shell=
git branch
```
> 樹總有分枝,對吧!
----
### 去分支的方法也有了
```shell=
git checkout
```
> 可以在各個樹枝上跑來跑去了~
----
### 當你覺得這分支該回到主幹時
```shell=
git merge
```
> 在主贛上合併其他人才是正確的...
----
### 換個人當頭頭好像也不錯?
```shell=
git rebase
```
> 你知道你在幹麻時用
> 會修改以前的紀錄
---
## 實做環節
---
## 我們下週再見
----

恐龍❤️你
{"metaMigratedAt":"2023-06-15T14:28:21.377Z","metaMigratedFrom":"YAML","title":"三人行,必有我師焉","breaks":true,"slideOptions":"{\"transition\":\"concave\"}","contributors":"[{\"id\":\"86b6dc70-72ec-4014-84f0-bfb2a06c3dc4\",\"add\":6652,\"del\":3186}]"}