自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

10 個很有用的高級 Git 命令

系統(tǒng)
迄今,我已經(jīng)使用Git很長一段時間了,考慮分享一些不管你是團(tuán)隊開發(fā)還是個人項目,都受用的高級git命令。在本文中,分享給大家。

迄今,我已經(jīng)使用Git很長一段時間了,考慮分享一些不管你是團(tuán)隊開發(fā)還是個人項目,都受用的高級git命令。

1. 輸出***一次提交的改變

這個命令,我經(jīng)常使用它 來發(fā)送其他沒有使用git的人來檢查或者集成所修改的。它會輸出最近提交的修改類容到一個zip文件中。

  1. git archive -o ../updated.zip HEAD $(git diff --name-only HEAD^) 

2. 輸出兩個提交間的改變

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

  1. git archive -o ../latest.zip NEW_COMMIT_ID_HERE $(git diff --name-only OLD_COMMIT_ID_HERE NEW_COMMIT_ID_HERE) 

3. 克隆 指定的遠(yuǎn)程分支

如果你渴望只克隆遠(yuǎn)程倉庫的一個指定分支,而不是整個倉庫分支,這對你幫助很大。

  1. git init 
  2. git remote add -t BRANCH_NAME_HERE -f origin REMOTE_REPO_URL_PATH_HERE 
  3. git checkout BRANCH_NAME_HERE 

4. 應(yīng)用 從不相關(guān)的本地倉庫來的補(bǔ)丁

如果你需要其它一些不相關(guān)的本地倉庫作為你現(xiàn)在倉庫的補(bǔ)丁,這里就是通往那里的捷徑。

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

5. 檢測 你的分支的改變是否為其它分支的一部分

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

  1. git cherry -v OTHER_BRANCH_NAME_HERE 

#例如: 檢測master分支

  1. git cherry -v master 

6.開始一個無歷史的新分支

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

  1. git checkout --orphan NEW_BRANCH_NAME_HERE 

7. 無切換分支的從其它分支Checkout文件

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

  1. git checkout BRANCH_NAME_HERE -- PATH_TO_FILE_IN_BRANCH_HERE 

8.忽略已追蹤文件的變動

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

  1. git update-index --assume-unchanged PATH_TO_FILE_HERE 

9.檢查提交的變動是否是release的一部分

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

  1. git name-rev --name-only COMMIT_HASH_HERE 

10.使用rebase推送而非merge

如果您正在團(tuán)隊中工作并且整個團(tuán)隊都在同一條branch上面工作,那么您就得經(jīng)常地進(jìn)行fetch/merge或者pull。Git中,分支的合并以所提交的merge來記錄,以此表明一條feature分支何時與主分支合并。但是在多團(tuán)隊成員共同工作于一條branch的情形中,常規(guī)的merge會導(dǎo)致log中出現(xiàn)多條消息,從而產(chǎn)生混淆。因此,您可以在pull的時候使用rebase,以此來減少無用的merge消息,從而保持歷史記錄的清晰。

  1. git pull --rebase 

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

  1. git config branch.BRANCH_NAME_HERE.rebase true 
責(zé)任編輯:黃丹 來源: oschina
相關(guān)推薦

2013-08-15 09:52:45

開發(fā)框架開發(fā)工具開發(fā)腳本

2013-10-29 09:24:47

Linux命令Shell腳本

2023-03-06 10:42:34

CSS前端

2013-07-12 09:45:16

PHP功能

2023-09-07 16:28:46

JavaScrip

2010-06-24 16:18:49

Linux Chatt

2012-08-02 13:03:24

Mac OS X操作系統(tǒng)

2014-04-08 15:05:11

LinuxLinux命令行補(bǔ)全命令

2015-10-27 11:02:06

Web開發(fā)CSS 庫

2011-05-16 08:37:56

JavaScript庫

2020-03-06 08:35:45

GitHub設(shè)計瀏覽器

2014-06-13 11:26:53

CSS庫Web開發(fā)

2023-08-02 16:14:04

2013-08-09 11:06:20

HTML5CSS3資源

2016-12-14 20:53:04

Linuxgcc命令行

2016-12-14 19:19:19

Linuxgcc命令行

2023-09-27 22:14:10

GIT 命令開發(fā)

2015-10-08 09:01:51

2019-03-28 14:30:21

代碼開發(fā)命令

2021-06-29 10:50:30

Python函數(shù)文件
點贊
收藏

51CTO技術(shù)棧公眾號