1.git自動補全
假使你使用命令列工具執行git命令,那麼每次手動輸入各種命令是一件很令人厭煩的事情。
命令:cd ~
curl -o ~/.git-completion.bash
然後,新增下面幾行到你的 ~/.bash_profile 檔案中:
if [ -f ~/.git-completion.bash];then
.~/.git-completion.bash
fi2.在git中忽略檔案
git忽略掉那些特定的檔案和資料夾,只需要建立乙個名為 .gitgnore然後列出那些你不希望git跟蹤的檔案和資料夾。
你還可以新增例外,通過使用感嘆號(!).
*.pyc
*.ext
my_db_config/
!main.pyc
3. 顯示檔案中每一行的作者,最新的變更提交和提交時間展示出來。
git blame [file_name]
git blame demonstration
4.檢視倉庫歷史記錄
上一節我們已經學習了如何使用git log,不過,這裡還有三個你應該知道的選項。
--oneline- 壓縮模式,在每個提交的旁邊顯示經過精簡的提交雜湊碼和提交資訊,以一行顯示。
-graph- 圖形模式,使用該選項會在輸出的左邊繪製一張基於文字格式的歷史資訊表示圖。如果你檢視的是單個分支的歷史
記錄的話,該選項無效。
--all- 顯示所有分支的歷史記錄
5 絕對不要丟失對commit的跟蹤
假設你不小心提交了你不想要的東西,不得不做一次強制重置來恢復到之前的狀態。然後,你意識到在這一過程中
你丟失了其他一些資訊並且想要把他們找回來,或者至少看一眼,這正是git reflog可以做到的。
乙個簡單的git log 命令可以為你展示最後一次commit,以及他的父親,還有他父親的父親等等。
而git reflog則列出了head曾經指向過的一系列commit。要明白他們只存在於你本機中;而不是你的版本倉庫的一部分,
一不包含在push和merge操作中。
6.暫存檔案的部分改動
一般情況下,建立乙個基於特性的提交是比較號的做法,意思是每次提交都必須代表乙個新特性的產生或者
是乙個bug的修復。如果你修復了兩個bug,或者新增了多個新特性但是卻沒有提交這些變化會怎樣呢,
在這種情況下,你可以把這些變化放在一次提交中。但更好的方法是把檔案暫存(stage)然後分別提交。
例如你對乙個檔案進行了多次修改並且想把他們分別提交。這種情況下,你可以在add命令中加上-p引數
git add -p [file_name]
我們來演示一下在file_name檔案中新增了3行文字,但只想提交第一行和第三行。先看一下git diff 顯示的結果:
7.壓縮多個commit
用rebase命令把多個commit壓縮成乙個
git rebase -i head~[number_of_commits]
如果你想要壓縮最後兩個commit ,你需要執行下列命令。
git rebase -i head~2
9.檢查丟失的提交
儘管 reflog是唯一檢查丟失提交的方式。但它不是適應於大型的倉庫。那就是fsck(檔案系統檢測)
git fsch --lost-found
10 個迅速提公升你 Git 水平的提示
假使你使用命令列工具執行git命令,那麼每次手動輸入各種命令是一件很令人厭煩的事情。為了解決這個問題,你可以啟用git的自動補全功能,完成這項工作僅需要幾分鐘。為了得到這個指令碼,在unix系統下執行以下命令 然後,新增下面幾行到你的 bash profile 檔案中 1 2 3 if f git ...
10 個迅速提公升你 Git 水平的提示
至 10 個迅速提公升你 git 水平的提示 漠天 假使你使用命令列工具執行git命令,那麼每次手動輸入各種命令是一件很令人厭煩的事情。為了解決這個問題,你可以啟用git的自動補全功能,完成這項工作僅需要幾分鐘。為了得到這個指令碼,在unix系統下執行以下命令 cd curl o git compl...
10個讓你早起的技巧
早起能幫助你更好的安排一天的生活,讓這一天變得更有效率的第一步。這裡我將奉獻給大家的是幫助我成為乙個早起的人的10個技巧。這最重要的一步當然是起床。不是醒來 坐起來,而是要蹦下床。當鬧鈴響後,你馬上下床,跑到另外一間屋子裡,把燈開啟。快速的下床能讓你擺脫安逸的環境,這樣才不會再次睡去。你知道,有個聲...