你不必定知道的幾個頗有用的 Git 命令

  1. 導出最後一次提交修改過的文件   我一直在使用這個命令按期進行發送給其餘人進行審查/整合。這條命令將把近期提交的修改過的文件導出到一個zip文件。

1git

git archive -o ../updated.zip HEAD $(git diff --name-only HEAD^)
  1. 導出兩次提交之間修改過的文件   一樣,若是你須要導出兩次提交之間修改過的文件,你能夠用這一個。

1日誌

git archive -o ../latest.zip NEW_COMMIT_ID_HERE $(git diff --name-only OLD_COMMIT_ID_HERE NEW_COMMIT_ID_HERE)
  1. 克隆一個特定的遠程分支   若是你想從遠程倉庫克隆特定的一個分支,這條命令對你頗有用:
git init 
git remote add -t BRANCH_NAME_HERE -f origin REMOTE_REPO_URL_PATH_HERE 
git checkout BRANCH_NAME_HERE
  1. 從無關的本地倉庫應用補丁   若是您須要申請從提交的一些其餘不相關的創庫到本地存儲庫,這裏是一個快捷的方式:

1 git --git-dir=PATH_TO_OTHER_REPOSITORY_HERE/.git format-patch -k -1 --stdout COMMIT_HASH_ID_HERE| git am -3 -kcode

  1. 檢查您的分支變化是是否其餘分支的一部分   cherry 命令可讓你檢查你的分支的變化是否存在於其餘一些分支之中。它會顯示在當前分支相對於給定的分支的修改,用+或-標誌提示提交合並與否。+表示不存在,而-表示存在於給定的分支。
git cherry -v OTHER_BRANCH_NAME_HERE 
#For example: to check with master branch 
git cherry -v master
  1. 啓動一個無歷史的新分支   有時候,你須要啓動一個新的分支,同時想摒棄歷史信息,例如,你想將代碼放在公共領域(開源)又不想共享歷史信息。
git checkout --orphan NEW_BRANCH_NAME_HERE
  1. 在不切換分支的狀況下從其它分支檢出文件   下面的命令是從其餘分支獲取文件,而不用切換分支。
git checkout BRANCH_NAME_HERE -- PATH_TO_FILE_IN_BRANCH_HERE
  1. 忽略跟蹤文件的修改   若是你工做在一個團隊,他們都是工做在同一個分支,你須要頻繁的讀取/合併文件。可是有時復位了你環境的特定配置,你必須在合併後每一次都再改一下。使用這個命令,你能夠忽略更改特定的文件:
git update-index --assume-unchanged PATH_TO_FILE_HERE
  1. 檢查提交的修改是否發佈版本的一部分   這個 name-rev 命令能夠告訴你提交相對於最新發布版本的位置。利用這一點,你能夠檢查你的變化是否發佈版本的一部分。
git name-rev --name-only COMMIT_HASH_HERE
  1. 使用 pull rebase 操做替代 merge   若是你工做的團隊正工做在同一個分支,那麼你所要作的獲取/合併或常常拉取。分支合併的 git 記錄與合併提交時提示功能分支被併入主幹。但在多個團隊成員工做的同一分支的狀況下,常常合併致使在日誌中多個合併的消息引發混亂。因此你可使用 pull rebase,以保持歷史信息清除了無用合併的消息。
git config branch.BRANCH_NAME_HERE.rebase true

```  此外,您能夠配置一個特定的分支老是衍合:

git pull --rebaseorm

相關文章
相關標籤/搜索