上周五我由於使用了git reset --hard 而使得我丟掉了我的提交(糟糕透頂),因此,我決定是時候重新學習一下git了。
這篇文章講的不是git基礎的一些東西,而是那些你不知道或者只用過一兩次的東西。
從 reset --hard 中恢復提交
使用 git reflog 命令就好了.
(由 gittenberg 提供)
diff
如果你想檢視兩個分支之間有什麼不同之處,你只需要這樣做:git diff branch1..branch2。
通過正規表示式匹配提交資訊並顯示
使用 git show :/fixes 命令,你可以找到提交資訊中包含傳入的字串(這個例子中是fixes)的最近的提交。
限制 git push 的預設行為
如果你執行git push,預設的行為是將所有的分支提交到遠端**庫。這可能會導致很多問題,如果你不想這麼做,你可以:git config --global push.default tracking。
更新: git 2.0 移除了這個預設的行為
切換到乙個分支 rebase 並 merge 到 master
可以這樣做:git rebase head feature && git rebase head @
git 儲存工作狀態
如果由於你的工作還沒有完成,但此時又有緊急的事找上你,你可以使用 git stash 來儲存這些修改,提交你緊急的任務,之後再用 git stash pop 恢復到你儲存時的狀態。
別名 你還在為一次又一次的輸入 checkout 而感到討厭嗎?現在就去嘗試:git config --global alias.co checkout。你就可以通過:git co master 命令來切換到master了。
重新命名乙個本地分支
使用:git branch -m old-name new-name 你可以很容易的重新命名乙個本地分支。
搜尋作者名稱
你可以通過使用git log --author=matheus 來搜尋乙個指定作者的提交記錄。
給git status 加上引數
大多數人僅使用git status,但是,你可以傳入引數來改變狀態顯示的方式。
使用git status -sb 你可以得到類似下面這樣的輸出:
## master
m gemfile
m gemfile.lock
LAMP安裝 你所不知道的事
系統環境 centos 6.6 i386 測試軟體 xshell5 bin 存在的是一些二進位制檔案,但是在linux中二進位制檔案是可以被執行的。這個目錄中的命令檔案是給普通使用者使用 非超級管理使用者 etc linux下所有的配置檔案都會存放在etc目錄 home 是所有非root使用者家目錄...
關於提單,你不知道的事!
提單bill of lading b l 就代表貨物,一定要對提單有足夠的了解。基本知識和注意點 提單通常是3正3副,也有2正3副的。假如信用證有要求的話,要和貨代特別說明。t t付款方式時,理論上只需要一張正本就可以了 提貨後其他正本自動失效,副本不能提貨 t t收到全部貨款後,給客人寄正本時可以...
你所不知道的 const
const 常量是不可修改的,也就是說only read,例如 const int nbuffsize 512 nbuffsize 0 error就是因為const 常量不能修改,所以定義時必須初始化預設在全域性作用域中定義的非const變數可以在整個程式中訪問,例如 int ncounter ex...