CentOs及ubuntu下安裝git

2021-06-01 10:22:55 字數 4806 閱讀 9739

git 是用於 linux 核心開發的版本控制工具。與常用的版本控制工具 cvs, subversion 等不同, 它採用了分布式版本庫的方式,不必伺服器端軟體支援,使源**的發布和交流極其方便。 git 的速度很快,這對於諸如 linux kernel 這樣的大專案來說自然很重要。 git 最為出色的是它的合併跟蹤(merge tracing)能力。

實際上核心開發團隊決定開始開發和使用 git 來作為核心開發的版本控制系統的時候, 世界開源社群的反對聲音不少,最大的理由是 git 太艱澀難懂,從 git 的內部工作機制來說,的確是這樣。 但是隨著開發的深入,git 的正常使用都由一些友好的指令碼命令來執行,使 git 變得非常好用, 即使是用來管理我們自己的開發專案,git 都是乙個友好,有力的工具。 現在,越來越多的著名專案採用 git 來管理專案開發,例如:wine, u-boot 等,詳情看 

作為開源自由原教旨主義專案,git 沒有對版本庫的瀏覽和修改做任何的許可權限制。 它只適用於 linux / unix 平台,沒有 windows 版本,目前也沒有這樣的開發計畫。

一、 centos

//先安裝git依賴的包 

yum install zlib-devel 

yum install openssl-devel 

yum install perl 

yum install cpio 

yum install expat-devel 

yum install gettext-devel

//安裝autoconf 

yum install autoconf

//安裝git 

wget  

tar xzvf git-latest.tar.gz 

cd git- 

autoconf 

./configure --with-curl=/usr/local 

make

make install

二、ubuntu

安 裝:

第一步:sudo apt-get install git git-core 來安裝git程式,或者到新立得軟體包裡面 輸入 git然後安裝。

第二步:如果你已經安裝好git那麼通過下面命令來更新版本庫。

git clone git:

第三步:建立乙個版本庫git-init-db

建立 乙個 git 版本庫是很容易的,只要用命令 git-init-db 就可以了

$ mkdir gittutorcn

$ cd gittutorcn

$ git-init-db

這樣,乙個空的版本庫就建立好了,並在當前目錄中建立乙個叫 .git 的子目錄。你可以用 ls -a 檢視一下,並請注意其中的三項內容:

乙個叫 head 的檔案,我們現在來檢視一下它的內容:

$ cat .git/head

現在 head 的內容應該是這樣:

ref: refs/heads/master

我 們可以看到,head 檔案中的內容其實只是包含了乙個索引資訊,並且,這個索引將總是指向你的專案中的當前開發分支。

乙個叫 objects 的子目錄,它包含了你的專案中的所有物件,我們不必直接地了解到這些物件內容,我們應該關心是存放在這些物件中的專案的資料。

乙個叫 refs 的子目錄,它用來儲存指向物件的索引。

具體地說,子目錄 refs 包含著兩個子目錄叫 heads 和 tags,就像他們的名字所表達的意味一樣:他們存放了不同的開發分支的頭的索引, 或者是你用來標定版本的標籤的索引。

請注 意:master 是預設的分支,這也是為什麼 .git/head 建立的時候就指向 master 的原因,儘管目前它其實並不存在。 git 將假設你會在 master 上開始並展開你以後的工作,除非你自己建立你自己的分支。

另外,這只是乙個約定俗成的習慣而已,實際上你可 以將你的工作分支叫任何名字,而不必在版本庫中一定要有乙個叫 master 的分支,儘管很多 git 工具都認為 master 分支是存在的。

現 在已經建立好了乙個 git 版本庫,但是它是空的,還不能做任何事情,下一步就是怎麼向版本庫植入資料了。

第四步:植入內容跟蹤資訊:git- add:

為了簡明起見,我們建立兩個檔案作為練習:

$ echo "hello world" > hello

$ echo "silly example" > example

我們再用 git-add 命令將這兩個檔案加入到版本庫檔案索引當中:

$ git-add hello example

git-add 實際上是個指令碼命令,它是對 git 核心命令 git-update-index 的呼叫。因此上面的命令和下面的命令其實是等價的:

$ git-update-index --add hello example

如果你要將某個檔案從 git 的目錄跟蹤系統中清除出去,同樣可以用 git-update-index 命令。例如:

$ git-update-index --force-remove foo.c

git-add 可以將某個目錄下的所有內容全都納入內容跟蹤之下,例如: git-add ./path/to/your/wanted 。但是在這樣做之前,應該注意先將一些我們不希望跟蹤的檔案清理掉,例如,gcc 編譯出來的 *.o 檔案,vim 的交換檔案 .*.swp 之類。

應該建立乙個清晰的概念就是,git-add 和 git-update-index 只是重新整理了 git 的跟蹤資訊,hello 和 example 這兩個檔案中的內容並沒有提交到 git 的內容跟蹤範疇之內。

第五 步:提交內容到版本庫:git-commit

既然我們重新整理了 git 的跟蹤資訊,現在我們看看版本庫的狀態:

$ git-status

## initial commit##

# updated but not checked in:

# (will commit)

## new file: example

# new file: hello

#提示資訊告訴我們版本庫中加入了兩個新的檔案,並且 git 提示我們提交這些檔案,我們可以通過 git-commit 命令來提交:

$ git-commit -m "initial commit of gittutor reposistory"

第六步:檢視當前的工作:git-diff

git-diff 命令將比較當前的工作目錄和版本庫資料庫中的差異。現在我們編輯一些檔案來體驗一下 git 的跟蹤功能。

$ echo "it's a new day for git" >> hello

我們再來比較一下,當前的工作目錄和版本庫中的資料的差別。

$ git-diff

差異將以典型的 patch 方式表示出來:

diff --git a/hello b/hello

index 802992c..8fdaa4e 100644

--- a/hello

+++ b/hello

@@ -1 +1,2 @@

hello world

+it's a new day for git

此時,我們可以再次使用組合命令 git-update-index 和 git-commit 將我們的工作提交到版本庫中。

$ git-update-index hello

$ git-commit -m "new day for git"

實際上,如果要提交的檔案都是已經納入 git 版本庫的檔案,那麼不必為這些檔案都應用 git-update-index 命令之後再進行提交,下面的命令更簡捷並且和上面的命令是等價的。

$ git-commit -a -m "new day for git"

一些命令:

初始化git資料庫

$ git-init-db

新增檔案

$ git-add hello.c

檢視修改、提交記錄

$ git-log

建立 分支

$ git-branch roredu

檢視分支

$ git-branch

* master

roredu

切 換工作分支

$ git-checkout roredu

switched to branch "roredu"

$ git-branch

master

* roredu

提交到當前工作分支並書寫標記。

$ git-commit -a

建立xux分支對於master的補丁檔案。

$ git-format-patch master roredu

配置開發者 自己的簽名和email。

$ git-config --global user.name "roredu"

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

修改檔名

$ git-mv roredu.c helight.c

刪除檔案

$ git-rm roredu.c

git-clone ssh@wtb:192.168.0.21/home/wtb/netbeansprojects/project1

這裡wtb是使用者名稱, 192.168.0.21是專案所在機器的ip 後面跟著的是專案目錄和名稱

CentOS下InfiniBand驅動安裝過程

硬體 mellanox infiniband 主要包括 hca 主機通道介面卡 和交換機兩部分 軟體 centos 6.4 mlnx ofed linux 2.1 1.0.0 rhel6.4 x86 64.iso 從 以使用者名稱 root 登入系統 1.檢查主機是否安裝了 hca lspci v ...

Ubuntu下的Adobe Reader安裝過程

ubutun下的adobe reader 安裝過程 命令顯示 tmp adobe目錄中的所有檔案,會發現有個adobereader的目錄,cd進入該目錄,執行命令.install安裝adobe reader 安裝過程中會給出提示,根據提示選這相應的安裝步驟完成安裝過程。3 假如剛才adobe rea...

在ubuntu下安顯示卡驅動

在ubuntu下安顯示卡驅動 第一步 首先檢查顯示卡驅動是否安裝好,執行 glxinfo head 第二步 刪除原來的驅動包,執行 sudo apt get purege remove nvidia glx nvidia glx new 然後刪除 lib linux restricted modul...