over 9 years ago

Git 這個詞聽了好久,也知道好處,但遲遲沒用
主要就是上手的門檻有點高,要設定實在會搞死人阿@@

不少網路上的神手紛紛寫的Git教學,很久也沒激起想要弄Git的興趣
直到上了研究所時間更多、也有更多的project對於version控管更加依賴
加上前陣子看到了這份教學是目前覺得最順眼最簡單易瞭的,開始認真把Git融入資工生活中囉

如果想學更多以圖解方式講解的Git功能,也可以參考 Learn Git Branching //2014-10-08更新


或許看完上面的Slide對Git還是霧煞煞,那就 直接照著以下筆記try it
相信操作過對於Slide中所講的概念會更加熟悉!!!


(END 有文字簡易流程)

Github

先從最常用的線上Git服務Github來做體驗

首先當然記得要先申請個Github帳號

1.安裝git

//2014.03.02 在Mac中安裝,只要打開Terminal,輸入Git,就會自動導入Xcode安裝,非常貼心!

2.Github上新增一個 repository


Github要把repository設成private要付費(所以如果有比較secret的code就不建議使用Github)

3.本機端初始化

Windows的話使用Git Bash (不要用Git GUI) / Unix 的話就直接用本身的command line
(不管是Windows還是Unix,下的command 都是一樣的)
先設定你的基本資料(之後commit的時候才容易知道作者是誰)
git config --global user.name "MarsW"
git config --global user.email "ymjh11436@gmail.com"

然後移動到本機想放此repository的資料夾底下 (善用ls,cd)

git clone https://github.com/MarsW/test.git 先把code從Github抓下來 (這裡的URL 就是前張圖的clone URL)
會發覺本機的目錄底下出現一個新目錄test,裡面應該會有之前在Github上建立repository所生成的README.md

4.開始來寫code啦!

然後進到test目錄中
git branch v1 生一個新branch名叫v1
git checkout v1 切換到v1這個branch上
command line應該會顯示

Switched to branch 'v1'

開始來寫code啦!!! 隨意修改增刪檔案

像我這次的修改就是 在test底下新增一個叫做test.txt的檔
git status指令command line會顯示以下這樣

# On branch v1
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       test.txt
nothing added to commit but untracked files present (use "git add" to track)

Untracked files 所以下指令 git add test.txt,然後看看git status

# On branch v1
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       new file:   test.txt
#

這次的修改就這樣,git status也沒顯示有任何修改過的檔案沒有track到的 (代表都add過了)
就可以下個 git commit
Windows 中的 Git Bash 是使用vim編輯器
Unix系統若預設不是vim,可下git config --global core.editor "vim"將預設編輯器設成vim


上面的紅色標示空行就是讓你輸入這次修改的內容為何,
要寫清楚 ,這樣以後在翻code的時候才容易找到想找的內容

vim 幾個簡單指令 (更多指令請自行google)

i 進入編輯模式(自由打字啦)
Esc 退出編輯模式(回到一般模式)
dd 刪除一行(一般模式下)
:wq 存檔離開(一般模式下)
:q! 不存檔直接離開 (一般模式下)

5.合併->push到Github上

git checkout master
git merge v1 把v1和master merge起來
git push 然後接著輸入Github的帳號密碼

看看這次新增的test.txt果然同步到Github上了


Commits中也能從標題清楚的看到每次的修改摘要,
也能更進階去看每個Commits中增刪哪些檔案,修改的檔案增刪了哪些行


總結

簡單再講一次操作過程

1.第一次初始
在Github開repo
git clone [clone URL] 先把code從Github抓下來

2.
進到該目錄中
git branch [branch-name] 生一個新branch
git checkout [branch-name] 切換到此branch上

3.
git status 看修改了哪些檔案
git add [修改到的檔案] 一個檔一個檔自己加,因為這樣可以Double check自己到底改了哪些檔
git commit 註解要寫清楚 完成一個小功能就要commit一次
重複步驟3.直到 git status 顯示沒有任何修改過的檔案

4.
git checkout master
git merge [branch-name] 和master merge起來
git push 然後接著輸入Github的帳號密碼

如果只有一人work,每次的流程就是跑 2.~4.

← 手作 Git 筆記 - Github 多人合作(設定) →
 
comments powered by Disqus