【轉】git與github在ubuntu下的使用

來源:互聯網
上載者:User

標籤:

原文網址:http://www.cnblogs.com/cocowool/archive/2010/10/19/1855616.html

最近開始使用git對kohana3的文檔做一些補充的工作,使用了git 和 github ,從瞭解到使用,還是有一點距離,下面是總結的一些方法。

1、Git的安裝

我使用了ubuntu 10.04 ,預設情況下,ubuntu 中並沒有安裝,所以首先需要在系統中進行 git 的安裝。

sudo apt-get install git-core

安裝完成後,在終端中輸入 git 就可以看到相關的命令了。如果只是需要使用git來管理本地的代碼,那麼現在就可以使用了。如果需要和github上的項目結合,還需要做其他的一些操作。

2、github帳號的申請

如果只是需要將github上感興趣的代碼拷貝到本地,自己進行修改使用,而不打算共用發布的話,其實不申請帳號也沒有關係,只需要 git clone 代碼到本地就可以了。本文對這種方法不做討論,畢竟使用 github 就是為了開源的目的。

首先去 github.com 上註冊一個帳號,具體的註冊流程就不贅述了。

3、在本地建立一個檔案夾,然後做一些全域變數的初始化

git config --global user.name = "使用者名稱或者使用者ID"

git config --global user.email = "郵箱"

這兩個選項會在以後的使用過程中自動添加到代碼中。

4、建立驗證用的公開金鑰

這個是比較複雜和困擾大多數人的地方,因為 git 是通過 ssh 的方式訪問資產庫的,所以需要在本地建立驗證用的檔案。

使用命令:ssh-keygen -C ‘you email [email protected]‘ -t rsa

會在使用者目錄 ~/.ssh/ 下建立相應的密鑰檔案

可以使用 ssh -v [email protected] 命令來測試連結是否暢通

5、上傳公開金鑰

在 github.com 的介面中 選擇右上方的 Account Settings,然後選擇 SSH Public Keys ,選擇新加。

Title 可以隨便命名,Key 的內容拷貝自 ~/.ssh/id_rsa.pub 中的內容,完成後,可以再使用 ssh -v [email protected] 進行測試。看到下面的資訊表示驗證成功。

進行到這裡,我們也可以利用github來管理我們的項目和參與開源工作了,大體上使用git分為三種方式。

管理自己的項目

這種情況是自己在本地有一些代碼,需要利用 github 來管理自己的項目,可以按照下面的步驟進行。

1、建立倉庫

在需要建立項目的檔案夾中,使用 git init 進行倉庫的建立。完成後,可以看到檔案家中多了一個 .git 隱藏目錄。

2、添加檔案

使用 git add . 來進行初始檔案的添加。這裡 . 表示將檔案夾下所有的檔案都添加進去,我們也可以指定檔案進行添加。

3、提交檔案

使用 git -m commit  -m ‘comment‘ 提交,可以將編輯的內容進行提交。

通過 git show 可以看到項目的一些狀態。

這是代碼已經在本地管理了,但是本地管理完全體現不出git的優勢。

利用github託管自己的項目

1、如果需要將自己的項目託管在github.com上,首先需要建立項目。在 Dashboard 中選擇 Create New Repository,填入相關資訊後,項目就建立成功了。

2、之後,會有一個如何上傳的提示,如已經很詳細了。

Fork別人的項目

前面提到過,如果只是下載使用別人的代碼,通過 git clone 就可以了,當然clone的前提是項目必須是public的,私人的項目是沒辦法的。如果需要參與,可以通過fork,然後合并的方式。

1、首先需要去自己感興趣的項目中進行Fork,fork出自己的一份分支來。fork之後,一般可以看到一個ssh訪問的地址。例如:[email protected]:cocowool/userguide.git

2、複製代碼

使用 git clone [email protected]:cocowool/userguide.git userguide 可以將代碼複製到本地的 userguide 檔案夾中

3、進行自己的修改,完成後請求原作者合并

 

git pull person master

 

下面是一些比較有用的命令的介紹:

 

# 建立一個版本庫git init# 每次修改好了後,可以先將修改存入stage(快照/索引)中git add <modified files># 修改了大量檔案則使用下面這個命令批量存入git add .# 使用commit將快照/索引中的內容提交到版本庫中git commit -m "msg"# 也可以將git add與git commit用一個指令完成git commit -a -m "msg"# 將本地的git檔案與github(遠程)上的同步git push# 將github(遠程)的git檔案與本地的同步(即更新本地端的repo)git pull# 例如,pull指令其實包含了fetch(將變更複製回來)以及merge(合并)操作git pull git://github.com/tom/test.git # 另外版本控制系統的branch功能也很有意思,若同時修改bug,又要加入新功能,可以fork出一個branch:一個專門修bug,一個專門加入新功能,等到穩定後再merge合并git branch bug_fix # 建立branch,名為bug_fixgit checkout bug_fix # 切換到bug_fixgit checkout master #切換到主要的repogit merge bug_fix #把bug_fix這個branch和現在的branch合并 # 若有remote的branch,想要查看並checkoutgit branch -r # 查看遠程branchgit checkout -b bug_fix_local bug_fix_remote #把本地端切換為遠端bug_fix_remote branch並命名為bug_fix_local # 還有其它可以查看repo狀態的工具git log #可以查看每次commit的改變git diff #可以查看最近一次改變的內容,加上參數可以看其它的改變並互相比較git show #可以看某次的變更 # 若想知道目前工作樹的狀態,可以輸入git status

 

參考資料:
1、Git與Github在Windows環境下的使用指南
2、使用GIT管理原始碼 
3、git/github使用小記 
4、使用git與github管理開發 

【轉】git與github在ubuntu下的使用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.