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.