github
是程序猿的代碼託管平臺,也是基於git的開源分佈式版本控制系統。然而,當你登錄github官網時,它並無爲你準備一個很好的代碼上傳的系統,這是由於它是基於git
的分佈式版本管理系。那麼,如何更快更有效的將本地代碼上傳到github
呢?首先,咱們須要在本地安裝git
,這樣才能在本地環境中使用git
命令行,(例如:$ git add index.html
)其次是要鏈接到你的github
帳戶上,這樣才能把你的代碼文件上傳上去,而每一次的更改都會造成一個版本記錄,這樣對團隊協做是頗有幫助的。html
這裏主要講的是mac
系統,windows
也是同樣的,只不過mac
是在終端下進行,而windows
是在cmd
下進行的。安裝git
,這裏推薦安裝Apple
公司的Xcode
,Xcode
集成了Git
,最新版的Xcode
已經默認安裝好了git
。完成安裝以後,就可使用 git
的命令行工具。git
固然,首先你須要註冊一個github
帳戶。github
在cmd
或者終端下輸入如下命令行:shell
git config --global user.name trigkit4 git config --global user.email 345823102@qq.com
固然,這是個人帳戶信息,你須要將他們換成你本身的。windows
這是一種傳輸代碼的方法,速度快又安全。SSH
是目前較可靠,專爲遠程登陸會話和其餘網絡服務提供安全性的協議。安全
在終端或cmd
輸入如下命令行:網絡
ssh-keygen -t rsa -C "345823102@qq.com"
固然,郵箱依然換成你註冊github
時所用的郵箱。以下圖所示:app
路徑選擇 : 使用該命令以後, 會出現提示選擇ssh-key
生成路徑, 這裏直接點回車默認便可, 生成的ssh-key在
默認路徑中;
密碼確認 : 這裏咱們不使用密碼進行登陸, 用密碼太麻煩;就一路回車下去ssh
在mac os X
下前往文件夾,/Users/本身電腦用戶名/.ssh
。分佈式
windows
應該是(C:\Documents and Settings\Administrator\.ssh
(或者 C:\Users\本身電腦用戶名\.ssh
)中)。
而後用記事本打開id_rsa.pub
,將裏面的所有代碼複製到github
的SSH
中。
id_rsa.pub
文件內容 :
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDS0qLtpontavr43AQntX4oBOsg2R3QlWubMYvfgJsIDX6NWd5RaIDLBLEMwIFLDcpvpQKvk5S/bTy4vTuWqeY6fkQ/tZBKksQn1WuYDcSfjLF8BuPMfdkboTh9NaKESKnsiWdranEVbmB5vOAHm8T+HFGdzG7Tz4ygzCnTwvdpBYrd/4jgeazws2d7CuMeuyb+FxdDTQy9YmJJm+82ypfR//bLyzRJo3SYadnPO3VdOAZCO1Isky+p/0nNN/obC4t2y2+oHBAqJV9h37f9S8UShgDmZoVLicRi4poni0i70xj+t/hnOsT8fmEc+vM9USyN+ndawz2oWjikKgln1jOB 345823102@qq.com
登錄github
網站,點擊Settings
——SSH keys
——點擊右側的Add SSH key
,接下去你懂得。
驗證是否配置成功 :
複製以下代碼:
ssh -T git@github.com
而後出現以下信息:
Warning: Permanently added the RSA host key for IP address '192.30.252.131' to the list of known hosts. Hi hawx1993! You've successfully authenticated, but GitHub does not provide shell access.
驗證時可能讓你輸入YES
,當出現以上信息時,說明配置成功,能夠鏈接上GitHub
;
第一步,在本地建立一個版本庫,代碼以下:
$ mkdir test #test是你的文件夾的名字 $ cd test #進入test所在目錄 $ pwd #pwd命令用於顯示當前目錄 /Users/trigkit4/test #這是在個人Mac上的目錄
第二步,經過git init
命令把這個目錄變成Git
能夠管理的倉庫:
$ git init
而後會輸出如下信息:
Initialized empty Git repository in /Users/trigkit4/banner/.git/
這裏的.git
目錄是Git
用來跟蹤管理版本庫的,默認是隱藏的。
第三部,接着,在github
上建立一個你本身的new repository
,而後下一步,
mkdir test cd test git init # initialize your git repository touch README # create a file named README git add README # add README to cache git commit -m 'first commit' # commit your files to local repository
而後咱們將本地的文件傳送至github
中,使用以下命令:
git remote add origin https://github.com/yourname/test.git git push -u origin master
git clone git://github.com/yourname/test.git git clone git://github.com/yourname/grit.git mypro#克隆到自定義文件夾
git add *#跟蹤新文件 rm *&git rm *#移除文件 git rm -f *#移除文件 git rm --cached *#取消跟蹤 git mv file_from file_to#重命名跟蹤文件 git log#查看提交記錄 git commit#提交更新 git commit -m 'message' git commit -a#跳過使用暫存區域,把全部已經跟蹤過的文件暫存起來一併提交 git commit --amend#修改最後一次提交 git reset HEAD *#取消已經暫存的文件 git checkout -- file#取消對文件的修改(從暫存區去除file) git checkout branch|tag|commit -- file_name#從倉庫取出file覆蓋當前分支 git checkout -- .#從暫存區去除文件覆蓋工做區
git branch#列出本地分支 git branch -r#列出遠端分支 git branch -a#列出全部分支 git branch -v#查看各個分支最後一個提交對象的信息 git branch --merge#查看已經合併到當前分支的分支 git branch --no-merge#查看爲合併到當前分支的分支 git branch test#新建test分支 git checkout test#切換到test分支 git checkout -b test#新建+切換到test分支 git checkout -b test dev#基於dev新建test分支,並切換 git branch -d test#刪除test分支 git branch -D test#強制刪除test分支 git merge test#將test分支合併到當前分支 git rebase master#將master分之上超前的提交,變基到當前分支
第一個:
error: src refspec master does not match any. error: failed to push some refs to 'https://github.com/yourname/test.git'
輸入以下代碼:
$ cd myproject $ git init $ git add . $ git commit -m 'initial commit' $ git push origin master
第二個:
git push -u origin master fatal: unable to access 'https://github.com/ZeyuChen/TPlus.git/': SSLRead() return error -9806
這種錯誤就是https
掛了,解決方案就是在project
目錄裏面的.git/config
文件裏面,修改repo
的url
鏈接,從https
修改成git協議就能夠了。
原本是url = https://github.com/ZeyuChen/TPlus.git
修改成
[remote "origin"] url = ssh://git@github.com/ZeyuChen/TPlus.git fetch = +refs/heads/*:refs/remotes/origin/*
再次push
就ok了。
如今咱們有了本地和遠程的版本庫,讓咱們來試着用用Git的基本命令: git pull:從其餘的版本庫(既能夠是遠程的也能夠是本地的)將代碼更新到本地,例如:'git pull origin master'就是將origin這個版本庫的代碼更新到本地的master主枝,該功能相似於SVN的update git add:是 將當前更改或者新增的文件加入到Git的索引中,加入到Git的索引中就表示記入了版本歷史中,這也是提交以前所須要執行的一步,例如'git add app/model/user.rb'就會增長app/model/user.rb文件到Git的索引中,該功能相似於SVN的add git rm:從當前的工做空間中和索引中刪除文件,例如'git rm app/model/user.rb',該功能相似於SVN的rm、del git commit:提交當前工做空間的修改內容,相似於SVN的commit命令,例如'git commit -m story #3, add user model',提交的時候必須用-m來輸入一條提交信息,該功能相似於SVN的commit git push:將本地commit的代碼更新到遠程版本庫中,例如'git push origin'就會將本地的代碼更新到名爲orgin的遠程版本庫中 git log:查看歷史日誌,該功能相似於SVN的log git revert:還原一個版本的修改,必須提供一個具體的Git版本號,例如'git revert bbaf6fb5060b4875b18ff9ff637ce118256d6f20',Git的版本號都是生成的一個哈希值