不同系統下Git工具的安裝

2021-08-19 01:38:28 字數 3863 閱讀 4531

是時候動手嘗試下 git 了,不過得先安裝好它。有許多種安裝方式,主要分為兩種,一種是通過編譯源**來安裝;另一種是使用為特定平台預編譯好的安裝包。

若是條件允許,從源**安裝有很多好處,至少可以安裝最新的版本。git 的每個版本都在不斷嘗試改進使用者體驗,所以能通過源**自己編譯安裝最新版本就再好不過了。有些 linux 版本自帶的安裝包更新起來並不及時,所以除非你在用最新的 distro 或者 backports,那麼從源**安裝其實該算是最佳選擇。

git 的工作需要呼叫 curl,zlib,openssl,expat,libiconv 等庫的**,所以需要先安裝這些依賴工具。在有 yum 的系統上(比如 fedora)或者有 apt-get 的系統上(比如 debian 體系),可以用下面的命令安裝:

$ yum install curl-devel expat-devel gettext-devel \

openssl-devel zlib-devel

$ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \

libz-dev libssl-dev

然後編譯並安裝:

$ tar -zxf git-1.7.2.2.tar.gz

$ cd git-1.7.2.2

$ make prefix=/usr/local all

$ sudo make prefix=/usr/local install

現在已經可以用git命令了,用git把 git 專案倉庫轉殖到本地,以便日後隨時更新:

$ git clone git:
如果要在 linux 上安裝預編譯好的 git 二進位制安裝包,可以直接用系統提供的包管理工具。在 fedora 上用 yum 安裝:

$ yum install git-core
在 ubuntu 這類 debian 體系的系統上,可以用 apt-get 安裝:

圖 1-7. git os x 安裝工具

另一種是通過 macports () 安裝。如果已經裝好了 macports,用下面的命令安裝 git:

$ sudo port install git-core +svn +doc +bash_completion +gitweb
這種方式就不需要再自己安裝依賴庫了,macports 會幫你搞定這些麻煩事。一般上面列出的安裝選項已經夠用,要是你想用 git 連線 subversion 的**倉庫,還可以加上 +svn 選項,具體將在第八章作介紹。(譯註:還有一種是使用 homebrew():brew install git。)

完成安裝之後,就可以使用命令列的git工具(已經自帶了 ssh 客戶端)了,另外還有乙個圖形介面的 git 專案管理工具。

給 windows 使用者的敬告:你應該在 msysgit 提供的 unix 風格的 shell 來執行 git。在 unix 風格的 shell 中,可以使用本書中提及的複雜多行的命令。對於那些需要在 windows 命令列中使用 git 的使用者,必須注意:在引數中間有空格的時候,必須使用雙引號將引數括起來(在 linux 中是單引號);另外,如果揚抑符(^)作為引數的結尾,並且作為這一行的最後乙個字元,則這個引數也需要用雙引號括起來。因為揚抑符在 windows 命令列中表示續行(譯註:即下一行為這一行命令的繼續)。

一般在新的系統上,我們都需要先配置下自己的 git 工作環境。配置工作只需一次,以後公升級時還會沿用現在的配置。當然,如果需要,你隨時可以用相同的命令修改已有的配置。

git 提供了乙個叫做git config的工具(譯註:實際是git-config命令,只不過可以通過git加乙個名字來呼叫此命令。),專門用來配置或讀取相應的工作環境變數。而正是由這些環境變數,決定了 git 在各個環節的具體工作方式和行為。這些變數可以存放在以下三個不同的地方:

在 windows 系統上,git 會找尋使用者主目錄下的.gitconfig檔案。主目錄即$home變數指定的目錄,一般都是c:\documents and settings\$user。此外,git 還會嘗試找尋/etc/gitconfig檔案,只不過看當初 git 裝在什麼目錄,就以此作為根目錄來定位。

第乙個要配置的是你個人的使用者名稱和電子郵件位址。這兩條配置很重要,每次 git 提交時都會引用這兩條資訊,說明是誰提交了更新,所以會隨更新內容一起被永久納入歷史記錄:

$ git config --global user.name "john doe"

$ git config --global user.email [email protected]

如果用了--global選項,那麼更改的配置檔案就是位於你使用者主目錄下的那個,以後你所有的專案都會預設使用這裡配置的使用者資訊。如果要在某個特定的專案中使用其他名字或者電郵,只要去掉--global選項重新配置即可,新的設定儲存在當前專案的.git/config檔案裡。

$ git config --global core.editor emacs
還有乙個比較常用的是,在解決合併衝突時使用哪種差異分析工具。比如要改用 vimdiff 的話:

$ git config --global merge.tool vimdiff
git 可以理解 kdiff3,tkdiff,meld,xxdiff,emerge,vimdiff,gvimdiff,ecmerge,和 opendiff 等合併工具的輸出資訊。當然,你也可以指定使用自己開發的工具,具體怎麼做可以參閱第七章。

要檢查已有的配置資訊,可以使用git config --list命令:

$ git config --list

user.name=scott chacon

[email protected]

color.status=auto

color.branch=auto

color.interactive=auto

color.diff=auto

...

有時候會看到重複的變數名,那就說明它們來自不同的配置檔案(比如/etc/gitconfig~/.gitconfig),不過最終 git 實際採用的是最後乙個。

也可以直接查閱某個環境變數的設定,只要把特定的名字跟在後面即可,像這樣:

$ git config user.namescott chacon

$ git help $ git --help

$ man git-

比如,要學習config命令可以怎麼用,執行:

$ git help config

sqlite不同系統下的安裝

sqlite 的乙個重要的特性是零配置的,這意味著不需要複雜的安裝或管理。本章將講解 windows linux 和 mac os x 上的安裝設定。建立資料夾 c sqlite,並在此資料夾下解壓上面兩個壓縮檔案,將得到 sqlite3.def sqlite3.dll 和 sqlite3.exe ...

gradle在不同系統下適配

有時我們需要自己定製一些gradle的執行task,可能會用到一些系統中的其它環境,這時需要我們針對不同的os做一些適配。方法一 獲取os的name判斷其中是否包含windows欄位 def iswindows 方法二 通過operatingsystem類中的方法來判斷當前環境 def iswind...

不同系統下的換行符

那麼,到底為什麼會出現這個提示的呢?檔案格式區別 我們先看看這三個者有何區別。很久以前,人們用老式的電傳打字機作為輸入裝置,它使用 兩個字元來另起新行。乙個字元把滑動架移回首位 稱為回車,另乙個字元把紙上移一行 稱為換行,當計算機問世後,由於儲存器曾經非常昂貴。有些人就認定沒必要用兩個字元來表示行尾...