Sunday, December 7, 2014

git 開發好習慣

好習慣是我自己說的
感覺這樣比較不會弄錯
真的錯了也比較不會出事 (比較好救)

1. 開始工作前先開一個新的 branch


git checkout -b workingBranch

然後在這邊開發 ,開發完成的話 merge 回去就行了

git checkout master
git merge workingBranch

然後可以 close working branch (要不然久了之後會有好多好多 branch...)

git branch -d workingBranch

記得要 merge 回去之後再砍,不然就是做白工了

因為長一個新的分支出來,就算新的寫爛了 commit 爛了 push 爛了 都沒有關係
直接砍了就好!!!
XD

2. 善用 stash

[1] (適合不斷 contest switch 的人類)

如果改東西改到一半,突然想要切到別的 branch 去做其他事情
直接 checkout 的話剛剛沒有 commit 的心血就全白費了
但是又還沒寫到可以 commit 的階段

這時候可以用 stash 把目前的東西暫存起來,等下再拿出來繼續改
git stash
簡單明瞭對吧 XD
這樣的話不管你是要 checkout 還是 commit 還是幹嘛都不會影響到

要拿出來的時候
git stash pop
就可以了 (幫忙把剛剛 contest switch 前的東西存回來,並且刪除記錄)

如果不想刪掉的話就要用
git stash apply
這一樣會把剛剛修改的東西存回來,但記錄依然留著


stash 不只可以存一個,可以像 stack  一樣 push很多次進去
其他可以用的指令
git stash list  # 列出目前到底存了哪些東西
git stash apply stash@{<index>}  # 拿出特定某次 stash 的內容
git stash clear  # 刪除已存在的記錄

Reference

[1] http://git-scm.com/docs/git-stash

No comments:

Post a Comment