這里給大家分享一些很有用的 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)
如果你想從遠程倉庫克隆特定的一個分支,這條命令對你很有用:
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 命令可以讓你檢查你的分支的變化是否存在于其他一些分支之中。它會顯示在當前分支相對于給定的分支的修改,用+或-標志提示提交合并與否。+表示不存在,而-表示存在于給定的分支。
git cherry -v OTHER_BRANCH_NAME_HERE #For example: to check with master branch git cherry -v master
有時候,你需要啟動一個新的分支,同時想摒棄歷史信息,例如,你想將代碼放在公共領域(開源)又不想共享歷史信息。
git checkout --orphan NEW_BRANCH_NAME_HERE
下面的命令是從其他分支獲取文件,而不用切換分支。
git checkout BRANCH_NAME_HERE -- PATH_TO_FILE_IN_BRANCH_HERE
如果你工作在一個團隊,他們都是工作在同一個分支,你需要頻繁的讀取/合并文件。但是有時復位了你環境的特定配置,你必須在合并后每一次都再改一下。使用這個命令,你可以忽略更改特定的文件:
git update-index --assume-unchanged PATH_TO_FILE_HERE
這個 name-rev 命令可以告訴你提交相對于最新發布版本的位置。利用這一點,你可以檢查你的變化是否發布版本的一部分。
git name-rev --name-only COMMIT_HASH_HERE
如果你工作的團隊正工作在同一個分支,那么你所要做的獲取/合并或經常拉取。分支合并的 git 記錄與合并提交時提示功能分支被并入主干。但在多個團隊成員工作的同一分支的情況下,經常合并導致在日志中多個合并的消息引起混亂。所以你可以使用 pull rebase,以保持歷史信息清除了無用合并的消息。
git config branch.BRANCH_NAME_HERE.rebase true
此外,您可以配置一個特定的分支總是衍合:
git pull --rebase
英文鏈接:10 Useful Advanced Git Commands
編譯來源:夢想天空 ◆ 關注前端開發 ◆ 分享網頁資源
本文來自【夢想天空(http://www.companysz.com/lhb25/)】
新聞熱點
疑難解答