-
用git --version命令檢查是否已經安裝html
-
在CentOS5的版本,因爲yum源中沒有git,因此須要預先安裝一系列的依賴包。在CentOS6的yum源中已經有git的版本了,能夠直接使用yum源進行安裝。git
-
可是yum源中安裝的git版本是1.7.1,Github等須要的Git版本最低都不能低於1.7.2 。因此咱們通常不用上面的方法,而是下載git源碼編譯安裝。github
END - 編譯安裝git
用git --version命令檢查是否已經安裝html
在CentOS5的版本,因爲yum源中沒有git,因此須要預先安裝一系列的依賴包。在CentOS6的yum源中已經有git的版本了,能夠直接使用yum源進行安裝。git
可是yum源中安裝的git版本是1.7.1,Github等須要的Git版本最低都不能低於1.7.2 。因此咱們通常不用上面的方法,而是下載git源碼編譯安裝。github
首先更新系統shell
yum -y updateapache
更新完成以後有6.5變成6.7了vim
安裝依賴的包bash
yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker服務器
下載git源碼並解壓ssh
$ wget https://github.com/git/git/archive/v2.3.0.zipcurl
$ unzip v2.3.0.zip
$ cd git-2.3.0
編譯安裝:
將其安裝在「/usr/local/git」目錄下。
make prefix=/usr/local/git all
make prefix=/usr/local/git install
由於服務器時間不對編譯的過程當中報錯以下圖,使用ntpdate自動校訂系統時間。報錯「Writing perl.mak for Git make[2]: *** [perl.mak] Error 1」,請重啓apache服務,service httpd restart。
編譯完成以後使用git --version 查看git版本,竟然仍是1.7.1,這是由於它默認使用了"/usr/bin"下的git。
你能夠用下面的命令查看git所在的路徑:
$ whereis git
git: /usr/bin/git /usr/local/git /usr/share/man/man1/git.1.gz
咱們要把編譯安裝的git路徑放到環境變量裏,讓它替換"/usr/bin"下的git。爲此咱們能夠修改「/etc/profile」文件(或者/etc/bashrc文件)。
vim /etc/profile
而後在文件的最後一行,添加下面的內容,而後保存退出。
export PATH=/usr/local/git/bin:$PATH
不想重啓系統,使用source命令當即生效
source /etc/profile
而後再次使用git --version 查看git版本,發現輸出2.3.0,代表安裝成功。
http://www.javashuo.com/article/p-ptfagpkp-ek.html
2、建立git本地倉庫而且初始化
mkdir /gitDir
cd /gitDir //進入目錄中
git init //初始化
ls -a //若是有倉庫目錄下有.git代表git倉庫建立並初始化成功
1
2
3
4
3、提交文件到本地倉庫
echo "11111" >> test.txt
git add test.txt //添加到暫存區中
git status //查看當前的狀態
git commit -m "添加了一行111" test.txt
上條命令會失敗,由於沒有指定用戶和用戶的郵箱
git config --global user.email "jack@163.com" //寫上本身郵箱
git config --global user.name "jack" //寫上用戶名
git commit -m "添加了一行111" test.txt //再次提交
git status //當前狀態是空表示沒有文件須要提交
1
2
3
4
5
6
7
8
9
4、git提交本地修改文件
echo "222" >> test.txt
git diff //比較這個版本和上個版本的不一樣,若是添加了代碼前面會有+號
git add test.txt
git commit -m "添加了一行222" //這樣就提交修改文件成功了
1
2
3
4
5、版本回退以及刪除文件
git reset --hard HEAD^ //回退到上個版本
git reset --hard HEAD~n //回退到上n個版本
git reflog //查看全部的提交歷史
git reset --hard 0f21d39 //回退到指定版本
git checkout -- test.txt //修改了但不想提交用此命令
git reset HEAD test.txt //若是已經add但未提交可使用此命令撤回而後用git checkout -- test.txt丟棄工做區的更改
git rm test.txt
git commit test.txt -m "刪除test.txt" //這樣就刪除了
1
2
3
4
5
6
7
8
6、git分支
①分支建立:
git checkout -b dev //建立並切換到一個分支,注意是在master目錄下建立分支
以上命令至關於如下兩條命令
git branch dev; git checkout dev
git branch //查看當前分支
1
2
3
4
②提交一個文件到分支中:
echo "111" >> new.txt
git add new.txt
git commit -m "提交到trunk中"
1
2
3
③切換到主幹上:
git checkout master
1
④合併分支到master中
git merge dev
1
⑤刪除分支
git branch -d dev
1
以上都是本地git的操做,下面咱們來把代碼上傳到github上
7、代碼上傳到github中
首先在github中建立一個倉庫用來保存咱們的項目,在上篇git的使用中提到過在此很少作描述,新建完倉庫後出現下圖信息
ssh-keygen -t rsa -f /root/.ssh/id_rsa -C "603771777@qq.com" -N '' //生成一個密鑰對,此處爲了免密登陸到github
cat /root/.ssh/id_rsa.pub //將屏幕上輸出的公鑰拷貝到github上,點擊setting,SSH and GPG keys,而後New SSH key
1
2
公鑰添加完畢後就能夠上傳到github上了,使用上圖中的命令標紅的命令鏈接到遠程,而後push過去就能夠了
git remote add origin git@github.com:603771777/gtirepolist.git
git push -u origin master //這樣就能夠成功推到github上去了
1
2
8、他人開發並獲取代碼
只須要把他本身的公鑰添加到github的SSH中,而後輸入如下命令進行下載便可
git clone git@github.com:603771777/gtirepolist.git
1
這樣就下載下來了,提交步驟同樣,先add,再commit,而後push
注意:提交前最好先從服務器上更新一下本身的代碼。否則多人開發時會有衝突
git pull //從服務器更新本身的代碼
git push -u origin master //而後再次提交代碼(add+commit後再push)