成都java開發培訓
達內成都高升橋中心

18011516507

熱門課程

成都java培訓機構排名?送給你12個Git使用技巧!

  • 時間:2020-07-15 17:42
  • 發布:成都達內
  • 來源:成都達內

這篇文章提供12個訣竅與技巧來讓你的Git經驗更加有用和強大,從一些你可能會忽視的基礎開始到一些真正的強大技巧!

1. 你的 ~/.gitconfig 文件

在第一次用git命令來提交一個倉庫的修改,你可能會首先看到像下面這種內容:

Please tell me who you are.

Run

git config --global user.email "you@example.com"

git config --global user.name "Your Name"

to set your account's default identity.

你可能還沒有意識到那些命令正在修改/.gitconfig文件的內容,這個文件就是Git存儲全局配置選項的文件。通過你的/.gitconfig文件你可要做很多事情,包括定義別名,永久的打開(或關閉)一些特定的命令選項,還可以修改Git如何工作的方面(例如:git diff使用哪個diff算法,或者默認使用什么類型的的合并策略)。你甚至可以按條件地基于路徑包含其他配置文件到一個倉庫!使用“man git-config”查看所有細節。

2. 你的倉庫的.gitconfig文件

在之前的技巧中,你可能會想知道在git config 命令中的—global標識是做什么的。它告訴Git更新“global”配置,也就是~/.gitconfig發現的這個配置。當然,擁有一個全局的配置代表了一個本地配置,而且足夠肯定的是,如果你省略—global選項,git config 會更新這個倉庫自己的配置,這個配置文件存儲在.git/config。

在.git/config中設置的選項會推翻在~/.gitconfig文件中的對應設置。因此,例如,如果你需要在一個特定的倉庫中使用一個不同的郵箱地址,你可以運行“git config user.email "also_you@example.com"”。然后,你在這個倉庫中提交會使用你單獨配置的這個郵箱地址。如果你使用一個工作的電腦在開源項目中工作,但是希望在這個項目中使用個人的郵箱地址,而其他在主Git配置中仍然使用工作郵箱,這一點是非常有用的。

在/.gitconfig中可以設置的任何東西,都可以在.git/config中設置來對這個倉庫做特定設置。在下面的這些技巧中,當我提到在你的/.gitconfig文件中添加什么東西,同時也說明可以在特定的倉庫的.git/config中添加來設置那個選項。

3、別名

別名是你可以在你的~/.gitconfig文件里做的另外一件事。他的工作原理就像shell命令行里的別名——設置一個新的命令名稱來調用一個或者多個其他的命令,這些命令通常包括一些特定的選項或標識。別名對于你經常使用的那些又長又復雜的命令行是非常有效的。

你可以使用git config命令來定義別名——例如,執行”git config —global —add alias.st status”命令后,會使得執行git st與執行git status做的是同樣的事情——然而,我發現當定義別名的時候,只需要直接在~/.gitconfig文件里編輯通常會更加容易。

如果你選擇這么做,你會發現~/.gitconfig文件就是一個INI文件,INI是一種帶有特定段落的基礎鍵值對文件格式。添加一個別名時,你將改變[alias]段落。例如:上面提到的定義相同的git st別名,需要添加下面這段代碼:

[alias]

st = status

(如果已經有了[alias]這個段落,只需要在這個段落中添加到第二行)

4. shell命令中的別名

別名不僅僅是運行其他Git子命令——你也可以定義別名,這些別名可以運行其他shell命令。這是一個很好的方法來處理一個重復的、罕見的、復雜的任務:一旦你已經想到第一次怎么做,那就使用一個別名保存這個命令。例如,我有幾個倉庫是我fork了一個開源項目,而且在本地做了一些修改,這些修改不用貢獻給這個項目。在項目的持續的開發的過程中我想保持最新的版本,同時保留我的本地修改。為了完成這個想法,我需要定期地從upstream倉庫中合并這些修改到我的fork——我定義一個別名“upstream-merge”來完成這個操作。定義如下:

upstream-merge = !"git fetch origin -v && git fetch upstream -v && git merge upstream/master && git push"

別名定義開始的這個“!”是告訴Git來通過shell運行這個命令。這個例子包括了運行一些git命令,但是使用這種方式定義別名可以運行任何shell命令。

(注意:如果你想復制我的upstream-merge別名,你將需要確認你有一個Git remote命名為upstream來指定這個你fork的upstream倉庫。你可以通過“git remote add upstream ”來添加一個。)

5. 可視化提交圖

如果你從事的是一個有很多分支活動的項目,有時可能很難掌握所有正在發生的工作以及它們之間的相關性。各種GUI工具可讓你弄清楚不同分支的概況以及在所謂的“提交圖”中提交記錄。

John Anderson, CC BY

如果你是專注于命令行的用戶,就可以不在多個工具之間切換導致分心,這個工具在命令行上實現了類似圖形界面的提交視圖。

John Anderson, CC BY

下面的命令可以得到一樣的倉庫可視化片段:

git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)

上一篇:成都java就業怎么樣?Java8-函數式接口
下一篇:成都java培訓機構哪家好?Java守護線程普通線程的例子

成都比較好的java培訓機構:JavaThead類的使用

成都java培訓機構哪家好?Java守護線程普通線程的例子

成都java培訓機構排名?送給你12個Git使用技巧!

成都java就業怎么樣?Java8-函數式接口

選擇城市和中心
江西省

貴州省

廣西省

海南省

偷拍初高中女厕所视频