您的位置:首页 > 编程语言

Ubuntu下安裝Git 以及 通過Github託管代碼

2015-01-24 15:52 351 查看
12年的時候我就在Github註冊了一個帳號, 也在Windows7的環境下使用過一段時間, 在windows下我更多是使用GUI(github提供了一個客戶端), 完全體會不到版本控制的過程。 去年(14), 在工作的過程中, 我使用到了SVN這樣的版本控制軟件, 算是對版本控制稍微有點瞭解, 現在我決定用正確的方式來做一個項目, 所以各方面都力圖使用正確的手段, 考慮到 Git在開源社區的影響力, 我決定使用Git來託管代碼。

在使用之前可以查閱一些關於git以及github的資料, 做一些簡單的準備, 本文描述一下我首次配置的一些基本情況:

Step 1: 安裝Git

第一步肯定是要安裝Git,  在ubuntu的終端下可以執行下面的命令:

sudo apt-get install git git-core git-gui git-doc git-svn git-cvs gitweb gitk git-email git-daemon-run git-el git-arch


step 2: 設置SSH鏈接以及git信息:

對於代碼託管說, 要區分本地代碼以及服務器上的代碼, 那麼在本地你要能夠遠程鏈接服務器, 這裏通過SSH進行鏈接。

(1)先檢查一下SSH能不能鏈接:

ssh -T git@github.com



如果看到:
Warning: Permanently added ‘github.com,204.232.175.90′ (RSA) to the list of known hosts.
Permission denied (publickey).
则说明可以连接。

(2)检查~/.ssh目录下是否有id_rsa(私钥)和id_rsa.pub(公钥)文件,正常情況下是有的(.ssh是隱藏文件, 注意執行命令時候的目錄位置), 如果沒有則要輸入:

ssh-keygen -t rsa -C "your email"


(3) 在瀏覽器下進入github主頁面:Account settings -> SSH Keys -> Add SSH Key,将id_rsa.pub文件中的字符串复制进去(整個文件完全複製, 不要忽略任何東西)

(4)再次检查SSH连接情况:

ssh -T git@github.com
  正常情況下, 會提示你可以鏈接了, 那麼你就可以在本地鏈接github了

(5)設置git的個人信息:

這裏就是設置用戶名與郵箱, 在終端輸入:

git config --global user.name "name"
git config --global user.email "email"


step 3 : 使用github進行個人代碼託管

你可以現在瀏覽器創建project, 然後clone到本地

git@github.com:username/projectname.git(username填你的註冊的github的用戶名, projectname填你要clone的項目的名字)


下面通過本地git操作, 然後通過ssh遠程鏈接到服務器, 進行本地與服務器上的代碼的同步, 比如要給project添加一個文件(README 爲例)

使用下面的命令:

git init
touch README
git add README
git commit -m 'first commit'
git remote add origin git@github.com:username/projectname.git
git push -u origin master


當然還有寫其他的命令:

git fetch origin # 取得远程更新(到origin/master),但还没有合并
git merge origin/master # 把更新的内容(origin/master)合并到本地分支(master)
git pull origin master # 相当于fetch和merge的合并,但分步操作更保险


也可以去fork別人的項目, 爲開源項目做貢獻:

 A. 先在瀏覽器上選擇你要fork的項目, 點擊fork按鈕,使用shell命令, 將該項目clone到你本地:

$ git clone git@github.com:username/projectname.git


 B. 当你克隆了一个项目之后.它有一个默认的remote.叫做.origin.这是指你是在github上fork的.而不是在原来的仓库.为了跟踪原本的仓库,你需要添加另一个叫做upstream的选项.

$cdprojectname

$git remote add upstream git://github.com/username/projectname.git

$git fetch upstream

 C. 一旦你做出了某些提交到你fork的仓库里,你可能想要将其推送到你fork的项目去,執行:
$gitpush origin master


  D. 接收upstream变更如果你fork的那个原来的仓库改变了,你可以使用下面的命令来更新你fork到本地的仓库.

$git fetch upstream

$git merge upstream/master
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息