Git 中幾個好用的操作
1: revert “revert”
某次錯誤的將 feature/x 合併到了 dev,因為當時的 dev 不考慮合併該 feature,自然解決辦法是 revert 這次 merge。但是後來需要 feature/x 再次合併到 dev,結果卻發現 feature/x 上後面提交的一些程式碼沒有了,折騰下嘗試把 dev 合到 feature/x 上結果還是丟程式碼。後來在偉大的 stackOverflow 上發現了可以再一次 revert “revert” 那次操作,試了下果然可以。真的強到不行。後來自己想了一下第一次的 revert 並不是撤銷你的所有操作,它也是一個會將 git 狀態指標改變的一個行為。
我在想如果第一次的 feature 用 rebase 合併會怎麼樣? 笑哭。
2:cherry-pick
只要你的 commit 資訊在,就不怕在任何分支沖掉你的程式碼。
3:git stash
當前分支還在開發,要切到別的分支做一些其他的事情,但是當前分支構不成 commit 的粒度,可以用 git stash 暫存。詳細的用法可以 Google,在別的分支做好事情後,回到 stash 的那個分支,要記得 git stash pop。
4:prune origin
git fetch 去拉取所有的遠端分支,但是本地還存在許多遠端早就刪除的好多分支,導致本地分支目錄雜亂,這時候執行 “git remote prune origin” 就可以清除掉本地那些遠端不存在的分支。
5:git reflog
這個命令可以記錄當前倉庫自從 clone 之後所有的操作,merge、rebase、commit 等,即使當前 commit 不小心被覆蓋也沒事。
綜上,個人覺得最重要的一點就是每次的 commit 粒度和 commit 資訊一個要合理清晰,這樣才能更為精準的進行版本控制管理。