1. git自動補全
假使你使用命令列工具執行git命令,那麼每次手動輸入各種命令是一件很令人厭煩的事情。
為了解決這個問題,你可以啟用git的自動補全功能,完成這項工作僅需要幾分鐘。
為了得到這個指令碼,在unix系統下執行以下命令: 1 2
然後,新增下面幾行到你的 ~/.bash_profile 檔案中:
1 if
[ -f ~/.git-completion.bash ]; then . ~/.git-completion.bash fi
儘管早些時候我們已經提到這個,但是強調的不夠充分。如果你想使用git的全部功能特性,
你絕對應該切換到命令列介面!
2. 在 git 中忽略檔案
你是不是很煩那些編譯過的檔案 (比如 .pyc) 出現在你的 git 倉庫中?或者說你已經受夠了已經把它們都加進了 git 倉庫?好了,這有個辦法可以讓你告訴 git 忽略掉那些特定的檔案和資料夾。只需要建立乙個名為 .gitignore 然後列出那些你不希望 git 跟蹤的檔案和資料夾。你還可以新增例外,通過使用感嘆號(!)。
*.pyc *.exe my_db_config/ !main.pyc
3. 是誰弄亂了我的**?
當事情出錯時,先去指責別人是人類的天性之一。如果你的產品伺服器掛了,使用git blame命令可以很容易找出罪魁禍首。這個命令可以將檔案中的每一行的作者、最新的變更提交和提交時間展示出來。
1 git blame [file_name]
在下面的截圖中你可以看到命令是如何在更大的目錄中搜尋。
4. 檢視倉庫歷史記錄
上一節我們已經學習了如何使用 git log ,不過,這裡還有三個你應該知道的選項。
--oneline- 壓縮模式,在每個提交的旁邊顯示經過精簡的提交雜湊碼和提交資訊,以一行顯示。
--graph- 圖形模式,使用該選項會在輸出的左邊繪製一張基於文字格式的歷史資訊表示圖。如果你檢視的是單個分支的歷史記錄的話,該選項無效。
--all- 顯示所有分支的歷史記錄
把這些選項組合起來之後,輸出看起來會像這樣:
5. 絕對不要丟失對commit的跟蹤
假設你不小心提交了些你不想要的東西,不得不做一次強制重置來恢復到之前的狀態。然後,你意識到在這一過程中你丟失了其它一些資訊並且想要把它們找回來,或者至少瞅一眼。這正是git reflog可以做到的。
乙個簡單的git log命令可以為你展示最後一次commit,以及它的父親,還有它父親的父親等等。而git reflog則列出了head曾經指向過的一系列commit。要明白它們只存在於你本機中;而不是你的版本倉庫的一部分,也不包含在push和 merge操作中。
如果我執行git log命令,我可以看到一些commit,它們都是我倉庫的一部分:
然而,乙個git reflog命令則展示了一次commit (b1b0ee9–head@),它正是我剛才進行強制重置時弄丟的:
說著說著就到了文章的最後,我認為這些技巧會讓你的 git 水平提公升到乙個新的高度。git 是最棒的,它幾乎能實現你所能想到的事情。因此,要經常挑戰自己的git水平。最後你很有可能會學到新的東西。
推薦閱讀:
用css實現垂直居中的5種方法及操作例項
讓開發者更值錢的方法 培養稀缺
乙個開發者,如何才能更值錢?答案非常簡單 掌握稀缺資源。那麼,怎樣才能持續不斷地掌握稀缺資源,讓自己更值錢呢?請看接下來介紹的 2 種識別稀缺的方法和 2 種培養稀缺的策略。稀缺資源的秘密 資源有很多,比如知識 技能 關係 社會資源 資訊 天賦等等,哪種資源才是稀缺的呢?答案可能不在資源本身,而在於...
開發者擁抱NoSQL的5個階段
相信很多開發者都有個疑問,如果以一種簡單 靈活的方法來儲存程式資料,應該選擇nosql還是sql呢?nosql資料庫提供了非常完美的體驗 乙個安裝包,啟動資料庫,使用json api進行資料讀寫操作。此外,nosql支援快速迭代。sql方案需要更多的預先投資 配置伺服器,插入資料,設定資料表,以物件...
如何讓開發者在國內的Github訪問速度變快
一 問題產生 github在國內訪問速度堪比龜速,所以需要採取一些手段來解決這種尷尬!二 步驟 1.進入電腦的 c windows system32 drivers etc,找到hosts檔案。2.在hosts檔案中新增 140.82.114.3 github.com 185.199.110.153...