---
# System prepended metadata

title: 0414 programming concept and what's git

---

# 0414 programming concept and what's git

lidemyMentorProgram5th week1 day3

---

**[CS101] 初心者的計概 與 coding 火球術 11**

- 藉由餐廳廚師接單 (input)的判斷 (conditional)接著跑流程的過程來解釋變數，條件判斷和迴圈
  先用文字說明出來判斷的步驟流程，再慢慢把它簡化成程式
- 重複做一樣的事情，就可以寫迴圈 (loop)
- 一些小步驟可以另外寫成函式，再組合，讓程式更簡潔也便於未來修改
- 迴圈一定要記得寫終止條件，不然會變成無窮迴圈 (infinite loop)
- 最後把結果輸出 (output)

---

**[GIT101] Git 超新手入門**  ` 35% ` 看完基本指令

- 認識版本控制
- 用時間來分資料夾的概念來分配被修改的檔案，群組起來
- 不會被頻繁修改的固定檔案另外拉出來放置
- 當多人協作時，用絕對不會重複的亂碼為版號並多一個表單標示歷史紀錄跟最新檔案

---

**git init 初始化
rm -r .git 取消git
git status  指令隨時查詢狀態
git add 加入版本控制
git add.  資料夾下的所有檔案加入版本控制
git rm —cached 移除版本控制**

狀態：untracked 不加入版控的 / staged 被加入版控的

**git commit 建立版本號** (類似創建資料夾名稱或群組名的概念)
會進入 vim 編輯器，輸入 commit message ( 記得退出vim 是:q )


**git commit -m ‘敘述’** **建立版本號順便輸入敘述** (就不用進 vim)

**git log 查詢歷史紀錄
git log --oneline查詢歷史紀錄簡短版本
git checkout 加上要回去的commit版本號  回復到某個版本
git checkout master 回到這個 branch 的最新版本**



＊修改檔案後，或有有新檔案，都一定要再一次下 **git add** 指令加入版本控制  , 
每一次都要，然後要再一次 **git commit**

**.gitignore 忽略**
下touch .gitignore 後 vim gitignore 進去編輯，輸入檔名後 :wq 存檔跳出

**git commit -am ‘描述’** = git add. 和 git commit -m 兩個合併的指令
(-a 就是 —all的意思)
(新檔案不會被加入!)

**git diff 看你改動了什麼內容**

---

 流程：

1. git init 開始
2. 先排除不需要版控的檔案 .gitignore  (.gitignore 這個檔案也要加入版本控制)
3. git add. 把所有檔案都加入版控 (此時不能用 git commit -am)
4. git commit -am ‘敘述’   建立版本

  專案建立後開始營運

5. 有新檔案就要記得 git add 把新檔案加入版控追蹤
6. 想要一個新的版本 git commit -am “msg”