翻譯 10 個實用的 Git 高階命令

2021-09-07 09:59:56 字數 1971 閱讀 6185

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

git archive -o ../updated.zip head $(git diff --name-only head^)
類似的,如果你需要輸出某兩個提交間的改變時,你可以使用這個。

git archive -o ../latest.zip new_commit_id_here $(git diff --name-only old_commit_id_here new_commit_id_here) 

# 輸出2個提交間的改變

#

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

git init

git remote add -t branch_name_here -f origin remote_repo_url_path_here

git checkout branch_name_here

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

git --git-dir=path_to_other_repository_here/.git format-patch -k -1 --stdout commit_hash_id_here| git am -3 -k

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

#

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

git cherry -v other_branch_name_here

# 例如: 檢測 master 分支

git cherry -v master

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

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

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

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

git name-rev --name-only commit_hash_here
如果您正在團隊中工作並且整個團隊都在同一條 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
原文:

10 個很有用的高階 Git 命令

迄今,我已經使用git很長一段時間了,考慮分享一些不管你是團隊開發還是個人專案,都受用的高階git命令。1.輸出最後一次提交的改變 這個命令,我經常使用它 來傳送其他沒有使用git的人來檢查或者整合所修改的。它會輸出最近提交的修改內容到乙個zip檔案中。1git archive o updated....

10 個很有用的高階 Git 命令

url 個很有用的高階 git 命令 url 1.輸出最後一次提交的改變 這個命令,我經常使用它 來傳送其他沒有使用git的人來檢查或者整合所修改的。它會輸出最近提交的修改內容到乙個zip檔案中。1git archive o updated.zip head git diff name only h...

10 個很有用的高階 Git 命令

url 個很有用的高階 git 命令 url 1.輸出最後一次提交的改變 這個命令,我經常使用它 來傳送其他沒有使用git的人來檢查或者整合所修改的。它會輸出最近提交的修改內容到乙個zip檔案中。1git archive o updated.zip head git diff name only h...