CentOS7編譯安裝git並配置使用github
一、編譯安裝git
CentOS7預設安裝的git版本為1.8.3.1,而git官方的版本已經到2.2.0了,所以選擇下載原始碼編譯安裝git
1.clone github上的git原始碼
$ git clone https://github.com/git/git.git
2.進入git目錄進行配置及安裝
1 2 3 4 5 |
$ cd git $ autoconf $ ./configure $ make $ make install |
期間可能會提示缺少檔案,是因為git的依賴包沒有安裝,缺什麼裝什麼就好,或者直接yum -y install curl curl-devel zlib-devel openssl-deve perl perl-devel cpio expat-devel gettext-deve
3.檢視版本
1 2 |
$ git --version git version 1.8.3.1 |
竟然還是原來的版本而不是最新安裝的2.2.0,那隻能先把舊版本解除安裝了
1 2 3 |
$ rpm -q git git-1.8.3.1-4.el7.x86_64 $ sudo rpm -e --nodeps git-1.8.3.1-4.el7.x86_64 |
然後執行sudo ln -s /usr/local/bin/* /usr/bin/
再次檢視git版本
1 2 |
$ git --version git version 2.2.0.GIT |
git版本已經是我們新安裝的2.2.0了
4.設定自己的使用者名稱和郵箱
命令列輸入:(引號加不加無所謂)
1 2 |
$ git config --global user.name "Your Name" $ git config --global user.email "[email protected]" |
5.在本地建立倉庫並初始化
1 2 3 |
$ mkdir test $ cd test $ git init |
初始化空的 Git 版本庫於 /home/username/github/test/.git/
至此git安裝完成
二、使用github
1.註冊github賬號
我這裡建立了一個賬號:SinalVee
Test
倉庫用於測試
2.用ssh-kengen生成公鑰
$ ssh-keygen -t rsa -C [email protected]
[email protected]為你的郵箱地址
設定存放目錄和密碼後在github設定中找到SSH Keys,選擇Add SSH Key,設定名稱並把*/.ssh/id_rsa.pub
的檔案內容貼上進去
3.測試是否成功
$ ssh -T [email protected]
出現下面的資訊並提示驗證私鑰則成功,輸入密碼解鎖私鑰
1 2 3 4 5 |
The authenticity of host 'github.com (192.30.252.130)' can't be established. RSA key fingerprint is 16:27:ac:axxxxxxxxxxxxxxxxx:df:a6:48. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'github.com,192.30.252.130' (RSA) to the list of known hosts. Hi SinalVee! You've successfully authenticated, but GitHub does not provide shell access. |
在本地任意目錄新建同步資料夾
1 2 3 |
$ mkdir github $ cd github $ git clone git@github.com:SinalVee/Test(此處SinalVee為使用者名稱,Test是你在github上建立的倉庫) |
1 2 3 4 5 6 |
正克隆到 'Test'... Warning: Permanently added the RSA host key for IP address '192.30.252.131' to the list of known hosts. remote: Counting objects: 6, done. remote: Total 6 (delta 0), reused 0 (delta 0) 接收物件中: 100% (6/6), 完成. 檢查連線... 完成。 |
因為我很久之前就建立了這個Test倉庫並測試過,所以這裡共有6個objects(一共兩個檔案,之所以這裡是6是因為Git跟蹤並管理的是修改,而非檔案)。
接下來測試以下上傳
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
$ cd Test/ $ ls README.md test.txt $ touch hello.txt $ vim hello.txt 你好,這是一個測試檔案。 $ ls hello.txt README.md test.txt $ git add hello.txt $ git commit -m "add file hello.txt" [master 0e4004c] add file hello.txt 1 file changed, 1 insertion(+) create mode 100644 hello.txt $ git push 物件計數中: 3, 完成. Delta compression using up to 4 threads. 壓縮物件中: 100% (2/2), 完成. 寫入物件中: 100% (3/3), 354 bytes | 0 bytes/s, 完成. Total 3 (delta 0), reused 0 (delta 0) To [email protected]:sinalvee/Test 984cabc..0e4004c master -> master |
在github的網頁上重新整理一下倉庫,發現hello.txt已經上傳成功了,至此我們的github已經配置成功,並可以使用了。
github的使用這裡不多贅述了。