Git命令使用技巧

2021-06-23 07:13:15 字數 2081 閱讀 6262

1. 輸出最後一次提交的改變

這個命令,我經常使用它 來傳送其他沒有使用git的人來檢查或者整合所修改的。它會輸出最近提交的修改類容到乙個zip檔案中。

git archive -o ../updated.zip head $(git diff --name-only head^)
2. 輸出兩個提交間的改變

類似的,如果你需要輸出某兩個提交間的改變時,你可以使用這個。

git archive -o ../latest.zip new_commit_id_here $(git diff--name-only old_commit_id_here new_commit_id_here)
3. 轉殖 指定的遠端分支

如果你渴望只轉殖遠端倉庫的乙個指定分支,而不是整個倉庫分支,這對你幫助很大。

git init

git remote add -t branch_name_here -f origin remote_repo_url_path_here

git checkout branch_name_here

4. 應用 從不相關的本地倉庫來的補丁

如果你需要其它一些不相關的本地倉庫作為你現在倉庫的補丁,這裡就是通往那裡的捷徑。

git --git-dir=path_to_other_repository_here/.git format-patch -k -1 --stdout commit_hash_id_here| git am -3 -k
5. 檢測 你的分支的改變是否為其它分支的一部分

cherry命令讓我們檢測你的分支的改變是否出現在其它一些分支中。它通過+或者-符號來顯示從當前分支與所給的分支之間的改變:是否合併了(merged)。.+ 指示沒有出現在所給分支中,反之,- 就表示出現在了所給的分支中了。這裡就是如何去檢測:

git cherry -v other_branch_name_here
#例如: 檢測master分支

3git cherry -v master
6.開始乙個無歷史的新分支

有時,你需要開始乙個新分支,但是又不想把很長很長的歷史記錄帶進來,例如,你想在公眾區域(開源)放置你的**,但是又不想別人知道它的歷史記錄。

git checkout --orphan new_branch_name_here
7. 無切換分支的從其它分支checkout檔案

不想切換分支,但是又想從其它分支中獲得你需要的檔案:

git checkout branch_name_here -- path_to_file_in_branch_here
8.忽略已追蹤檔案的變動

如果您正在乙個團隊中工作,而且大家都在同一條branch上面工作,那麼您很有可能會經常用到fetch和merge。但是有時候這樣會重置您的環境配置檔案,如此的話,您就得在每次merge後修改它。使用這一命令,您就能要求git忽視指定檔案的變動。這樣,下回你再merge的話,這個檔案就不會被修改了。

git update-index --assume-unchanged path_to_file_here
9.檢查提交的變動是否是release的一部分

name-rev命令能告訴您乙個commit相對於最近一次release的位置。使用這條命令,您就可以檢查您所做出的改動是否是release的一部分了。

git name-rev --name-only commit_hash_here
10.使用rebase推送而非merge

如果您正在團隊中工作並且整個團隊都在同一條branch上面工作,那麼您就得經常地進行fetch/merge或者pull。git中,分支的合併以所提交的merge來記錄,以此表明一條feature分支何時與主分支合併。但是在多團隊成員共同工作於一條branch的情形中,常規的merge會導致log中出現多條訊息,從而產生混淆。因此,您可以在pull的時候使用rebase,以此來減少無用的merge訊息,從而保持歷史記錄的清晰。

git pull --rebase
您也可以將某條branch配置為總是使用rebase推送:

git config branch.branch_name_here.rebase true

git 使用技巧

1.working directory 工作目錄 2.git directory git庫目錄 3.git index git索引 git index 可以看作是工作目錄和git庫目錄之間的暫存區,和staging area是相同的意思。最簡單的檢視目前什麼內容在index中的方法是使用git st...

git 使用技巧

參考github官方文件 配置了https和ssh連線。略。可參見github官方文件 進入專案根目錄,輸入 git init 還是在專案根目錄中輸入 git add 還是在專案根目錄中輸入 git commit m 第一次提交,建立專案。在本地專案倉庫的根目錄中,輸入 git remote add...

Git使用技巧

如果你不需要繁雜的git使用說明,只要能夠快速實現的方式,那可以往下看 git revert 撤銷某次push git revert n 輸入commit的編號 git commit m 描述 git push origin ubuntu git 安裝 sudo apt get install gi...