最近真正開始使用github,以前只是註冊過帳號,一直沒有利用起來。最近代碼敲的多了,就想找一個地方保存起來。github成了個人首選。
我電腦使用的系統是fedora,因此對命令行情有獨鍾。相比較windows下的圖像化的操做,linux下的命令行在我看來仍是不錯的。因此寫了一些文章,林林總總的將整個過程記錄下來。
在這裏推薦一下 廖學峯的git教程,做爲一個初學者,看了文章以後能很快入門。linux
在整個流程開始以前,學要設置本機和github之間的ssh鏈接。具體參照廖雪峯的git教程。這是整個教程的基礎。git
初始化的做用能夠幫助咱們創建一個倉庫,能夠做爲一個遠程庫 git init
須要先建立一個文件夾,這個文件夾的名字應該和你的倉庫的名字相同,而後在文件夾內部使用這個命令,會生成一個.git文件夾,當前的目錄就是工做空間。github
而後你就能夠在當前的文件夾中開始編輯你的代碼。windows
當你在github上創建裏一個倉庫以後,如今本地對這個倉庫進行推送,必須先創建聯繫
`git push -u origin master
To git@github.com:yourUsername/yourRepositoryName.git`
在創建聯繫以前,必須對倉庫進行初始化。ssh
git add .
git add命令主要是將文件信息添加到索引庫中,當咱們在後面提交的時候,是根據索引庫中的信息進行提交的。
最基本的git add [path]
其中,path能夠是文件也是目錄。
具體的命令能夠參照git add 詳解fetch
git commit -m '描述要提交的信息'
.net
最後一步就是提交個人代碼了git push -u origin master
可是在個人提交過程當中,我遇到了兩個坑
第一個:命令行
! [rejected] master -> master (fetch first)
error: 沒法推送一些引用到 'git@github.com:nikomaniac/codePenLearning.git'code
提示:更新被拒絕,由於遠程版本庫包含您本地尚不存在的提交。這一般是由於另外
提示:一個版本庫已向該引用進行了推送。再次推送前,您可能須要先整合遠程變動
提示:(如 'git pull ...')。
提示:詳見 'git push --help' 中的 'Note about fast-forwards' 小節。blog
後來在百度上一查,找到了git pull
這個命令的做用:取回遠程主機某個分支的更新,再與本地的指定分支合併。它的完整格式稍稍有點複雜。
我不是很明白,直接運行了git pull 就出現了另外一個坑。
! [rejected] master -> master (non-fast-forward)
error: 沒法推送一些引用到 'git@github.com:nikomaniac/codePenLearning.git'
提示:更新被拒絕,由於您當前分支的最新提交落後於其對應的遠程分支。
提示:再次推送前,先與遠程變動合併(如 'git pull ...')。詳見
提示:'git push --help' 中的 'Note about fast-forwards' 小節。
這個錯誤須要用到git fetch origin
遠程主機的版本庫有了更新(Git術語叫作commit),須要將這些更新取回本地,這時就要用到git fetch命令。在這裏,須要獲取遠端更新並與本地合併