git 不常用的強大功能

2015-04-18 22:33:00
hainuo
來源:
cnblogs
轉貼 1925
摘要:git 不常用的強大功能
#### 1. 導齣最後一次提交修改過的文件 我一直在使用這箇命令定期進行髮送給其他人進行審查/整閤。這條命令將把近期提交的修改過的文件導齣到一箇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 命令可以讓你檢查你的分支的變化是否存在於其他一些分支之中。牠會顯示在當前分支相對於給定的分支的修改,用+或-標誌提示提交閤併與否。+錶示不存在,而-錶示存在於給定的分支。```git cherry -v OTHER_BRANCH_NAME_HERE #For example: to check with master branch git cherry -v master``` #### 6. 啟動一箇無歷史的新分支 有時候,你需要啟動一箇新的分支,衕時想摒棄歷史信息,例如,你想將代碼放在公共領域(開源)又不想共享歷史信息。```git checkout --orphan NEW_BRANCH_NAME_HERE``` #### 7. 在不切換分支的情況下從其牠分支檢齣文件 下麵的命令是從其他分支穫取文件,而不用切換分支。```git checkout BRANCH_NAME_HERE -- PATH_TO_FILE_IN_BRANCH_HERE``` #### 8. 忽略跟蹤文件的修改 如果你工作在一箇糰隊,他們都是工作在衕一箇分支,你需要頻繁的讀取/閤併文件。但是有時複位瞭你環境的特定配置,你必鬚在閤併後每一次都再改一下。使用這箇命令,你可以忽略更改特定的文件:```git update-index --assume-unchanged PATH_TO_FILE_HERE``` #### 9. 檢查提交的修改是否髮佈版本的一部分 這箇 name-rev 命令可以告訴你提交相對於最新髮佈版本的位置。利用這一點,你可以檢查你的變化是否髮佈版本的一部分。```git name-rev --name-only COMMIT_HASH_HERE``` #### 10. 使用 pull rebase 操作替代 merge 如果你工作的糰隊正工作在衕一箇分支,那麽你所要做的穫取/閤併或經常拉取。分支閤併的 git 記録與閤併提交時提示功能分支被併入主榦。但在多箇糰隊成員工作的衕一分支的情況下,經常閤併導緻在日誌中多箇閤併的消息引起混亂。所以你可以使用 pull rebase,以保持歷史信息清除瞭無用閤併的消息。```git config branch.BRANCH_NAME_HERE.rebase true```此外,您可以配置一箇特定的分支總是衍閤:```git pull --rebase ```轉載:http://www.cnblogs.com/lhb25/p/10-useful-advanced-git-commands.html
發錶評論
玖 加 壹 =
評論通過審核後顯示。