1. 程式人生 > 其它 >github極簡指南

github極簡指南

入生信的坑已經3年多了,但開始github的旅程才一年多,起初主要是為了建立bioconductor中文社群而學習的,現在也在自己的github上面分享了不少程式碼,有一些心得體會,歡迎大家前往github star我的專案

當初想了解github的時候看到過不少教程,始終覺得不夠透徹,還是分享一下自己的心得吧。 首先要明白為什麼要用github,一般就4類需求啦:

  • 僅僅是為了檢視拷貝別人的程式碼,那麼其實沒必要用github,下載程式碼即可。
  • 需要分享程式碼,那麼建立一個賬戶把程式碼上傳即可。
  • 一個長期的程式設計專案,就略微有點麻煩,會涉及到程式碼備份,回滾,撤銷等各種git指令,其實大部分人不需要學這東西。我就從來沒有用過回滾操作。
  • 如果是團隊合作,那麼更加複雜了,需要買一本git操作書籍開學習,並且經常團隊會議,學習幾十個小時才行。

大部分人只需要學會把自己的電腦跟自己的github賬戶關聯,然後新建一個git專案跟github裡面的倉庫關聯即可。

git clone複製一個 Git 倉庫

大多數人的需求僅止於此啦,就是想複製一個專案,看看程式碼,你就可以克隆那個專案。 在終端執行 git clone [url],[url] 為你想要複製的專案,就可以了,比如下面:

上述操作將複製該專案的全部記錄,讓你本地擁有這些。並且該操作將拷貝該專案的主分支, 使你能夠檢視程式碼,或編輯、修改。

預設情況下,Git 會按照你提供的 URL 所指示的專案的名稱建立你的本地專案目錄。 通常就是該 URL 最後一個 / 之後的任何東西。

這個時候跟github本身沒有關係,因為你只是下載了檔案而已,並沒有涉及到提交程式碼。如果要提交程式碼,需要把自己的電腦跟github關聯,並且關聯指定的倉庫。

安裝git,然後把自己的電腦關聯自己的github賬戶:

去github官網建立賬號的教程我就不寫了,有了賬號密碼就需要跟自己的電腦關聯起來,這樣github網頁才會認可你,允許你上傳你的程式碼。

如果是windows電腦,那麼需要下載git軟體才可以,軟體下載地址http://git-scm.com/,安裝好git就可以開啟終端了。

如果是mac或者linux,那麼開啟終端即可,一般都預設安裝了git軟體。

終端,就是下面這樣的黑白命令列,開啟之後在終端裡面執行命令: ssh-keygen -t rsa -C "[email protected]"

(替換成自己的github註冊郵箱)

可以看到 home目錄下面多了一個.ssh資料夾

用notepad++等高階文字編輯器開啟那個public key檔案,把裡面的內容複製到自己的 github網頁裡面的ssh keys裡面

然後就成功啦,如下 ssh -T [email protected],可以用測試一下

配置本地使用者和郵箱

使用者名稱郵箱作用 : 我們需要設定一個 使用者名稱郵箱, 這是用來上傳本地倉庫到GitHub中, 在GitHub中顯示程式碼上傳者;

使用命令 :

git config --global user.name "jmzeng1314" //設定使用者名稱 git config --global user.email "[email protected]" //設定郵箱

到此Git客戶端已安裝及GitHub配置完成,現在可以給GitHub傳輸程式碼了。

客戶端把本地資料夾和github倉庫關聯

github的客戶端非常之多,很多人喜歡github desktop,不過我比較熟悉的Rstudio,因為我喜歡R語言。

Rstudio客戶端的global選單裡面有設定github賬號關聯的方法,因為我們電腦本來就已經關聯了,這個就略過哈。

首先在自己的github網頁裡面新建同樣的空的project,然後去自己剛才在本機用Rstudio新建的資料夾裡面:

因為是空白倉庫,所以直接進入終端,然後進入專案資料夾裡面把本地檔案上傳到指定的即可。

$git init      //初始化$git add .   //把所有檔案加入到索引(不想把所有檔案加入,可以用gitignore或add 具體檔案,見下文)$git commit   //提交到本地倉庫,然後會填寫更新日誌($git commit -m “my first vesion of ...”)$git remote add origin  https://github.com/jmzeng1314/test.git  //增加到remote$git push origin master    //push到github上

記住要在github網站裡面新建的是空白的倉庫哦。

這樣就把網頁版github和本地的資料夾聯絡起來了,以後要修改了這個程式,只需要點選commit+push即可,如果是網頁版的程式被修改了,就先pull一下。

當然,其實對大部分人來說,意義不大,因為大家喜歡命令列的,不是很喜歡這個滑鼠點選來進行同步。命令列就需要看下面的教程啦。 https://www.r-bloggers.com/rstudio-and-github/ http://r-bio.github.io/intro-git-rstudio/

命令列把本地資料夾和github倉庫關聯

首先在自己的github網頁裡面新建一個空的倉庫,然後執行下面的程式碼即可!

cd ~/test        //到test目錄,本地目錄名與repository的名字不一定相同git init      ##初始化git add .   ##把所有檔案加入到索引(不想把所有檔案加入,可以用gitignore或add 具體檔案,見下文)git commit -m 'aha'  ##提交到本地倉庫,然後會填寫更新日誌($git commit -m “my first vesion of ...”)git remote add origin https://github.com/jmzeng1314/test.git  ##增加到remotegit push origin master   ##push到github上

記住一定要是空白的倉庫哦,如果萬一你新建倉庫的同時建立了readme檔案,就直接clone好了,走下面的流程。

github進階操作。

其實就是本地的程式碼有所修改,需要同步到github而已,又或者github網頁裡面的程式碼被修改了,需要同步到本地。如果是多個人合作,那麼別人會修改你的程式碼,所以每次你上傳程式碼之前,都需要先把github網頁裡面的程式碼先拉下了,再合併後上傳自己的。

1.更新專案(新加了檔案), 這個是最高頻需求

$cd ~/hello-world$git add .    //這樣可以自動判斷新加了哪些檔案,或者手動加入檔名字$git commit   //提交到本地倉庫,不加引數會提示,注意:^=Ctrl,按照提示來就好了~~~$git push origin master    //不是新建立的,不用再add 到remote上了

2.更新專案(沒新加檔案,只有刪除或者修改檔案): $cd ~/hello-world $git commit -a //記錄刪除或修改了哪些檔案 $git push origin master //提交到github

3.忽略一些檔案,比如*.o等:

$cd ~/hello-world$vim .gitignore    //把檔案型別加入到.gitignore中,儲存

然後就可以git add . 能自動過濾這種檔案

4.clone程式碼到本地:

$git clone https://github.com/jmzeng1314/test.git  

5.假如本地已經存在了程式碼,而倉庫裡有更新,把更改的合併到本地的專案:

$git fetch origin    //獲取遠端更新$git merge origin/master //把更新的內容合併到本地分支

這個也是最高頻需求

6.撤銷

$git reset

7.刪除

$git rm  * // 不是用rm

裝逼請看這個:http://www.oschina.net/question/1397765_166368

安裝git工具看這個:http://www.ihref.com/read-16377.html

上傳自己的程式碼看這個:http://blog.csdn.net/hanhailong726188/article/details/46738929

一些開發過程的注意事項:http://blog.csdn.net/u011068702/article/details/49531167

簡介完整教程:http://caibaojian.com/use-github.html