前言:
提起github相信大家都不會(huì)陌生匾旭,在這里就不再過多進(jìn)述了食磕。作為開源代碼庫(kù)以及版本控制系統(tǒng)输莺,使用好了確實(shí)會(huì)非常受益,再說的勢(shì)利點(diǎn)项栏,你找工作時(shí)給面試官說你經(jīng)常維護(hù)自己的技術(shù)博客和github浦辨,相信你給他的印象會(huì)好很多。
windows底下如何使用github沼沈,很多好心人都已經(jīng)給了非常詳細(xì)的解決方案流酬,你只需問下度娘,她會(huì)幫你解決列另,這里對(duì)于windows底下的使用我也就不再贅述了芽腾。這里主要講講如何在mac底下使用github,我剛開始使用時(shí)页衙,還是費(fèi)了一點(diǎn)功夫的摊滔,因?yàn)榫W(wǎng)上的資料比較雜,有些不是太準(zhǔn)確店乐。將自己的安裝過程比較詳細(xì)的分享下艰躺,方便有需要的人,攢點(diǎn)人品眨八。
工欲善其事必先利器腺兴,首先你得完成如下兩個(gè)工作:
1.下載安裝git客戶端http://code.google.com/p/git-osx-installer/downloads/list?can=3??
2.注冊(cè)github賬號(hào)?https://github.com/ -->Pricing and Signup -->Create a free account
創(chuàng)建ssh:
接下來打開終端(不知道終端在哪兒的,就直接在spotlight里搜terminal):
$cd ~/.ssh//檢查是否已經(jīng)存在ssh
如果存在廉侧,先將已有的ssh備份页响,或者將新建的ssh生成到另外的目錄下,如果不存在,通過默認(rèn)的參數(shù)直接生成ssh:
$ssh-keygen -t rsa -C xxxxx@gmail.com(注冊(cè)github時(shí)的email)
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/twer/.ssh/id_rsa):
Created directory '/Users/twer/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/twer/.ssh/id_rsa.
Your public key has been saved in /Users/twer/.ssh/id_rsa.pub.
The key fingerprint is:
18:16:11:c9:01:6c:48:09:7f:27:c6:43:0d:7f:3f:84 xxxxx@gmail.com
The key's randomart image is:
+--[ RSA 2048]----+
|.o.++===? ? ? ? |
|.ooo.+. .? ? ? |
|? ..* = E .? ? ? |
|? o = + o? ? ? |
|? ? ? . S o? ? ? |
|? ? ? ? ? .? ? |
+-----------------+
如果要修改ssh生成目錄段誊,在粗體位置處輸入要生成的路徑闰蚕,選擇默認(rèn)的話,會(huì)生成在 ~/.ssh下
在github中添加ssh(如圖示):
登陸github枕扫,選擇Account Settings-->SSH ?Keys 添加ssh
Title:xxxxx@gmail.com?
Key:打開你生成的id_rsa.pub文件陪腌,將其中內(nèi)容拷貝至此辱魁。
打開終端烟瞧,先測(cè)試一下你的帳號(hào)跟github連上沒有:ssh -T git@github.com 如果出現(xiàn)如下提示,表示你連已經(jīng)連上了.(因?yàn)橛辛说谝徊饺敬兀圆挥米约鹤鲞^多的連接github的操作了参滴,另外,下一次要連接github的時(shí)候記得打開第一步的工具).
Hi MiracleHe! You've successfully authenticated, but GitHub does not provide shell access.
接下來就可以上傳你的代碼了锻弓,在github下建自己的Repository砾赔。Create a New Repository 如下:
● Repository name:通常就寫自己自己要建的工程名。
● Description:就是你對(duì)工程的描述了。?
● 選擇Public暴心。?
● 點(diǎn)擊 “Create repository”,出現(xiàn)如下圖:?
按照上面的步驟來就行了(注意記得在終端中輸入時(shí)把目錄切換到你要上傳的工程目錄下)妓盲。簡(jiǎn)單分析下上面的步驟:
touch README.md//新建一個(gè)記錄提交操作的文檔
git init//初始化本地倉(cāng)庫(kù)
git add README.md//添加
git commit -m"first commit"http://提交到要地倉(cāng)庫(kù),并寫一些注釋
git remote add origin git@github.com:youname/Test.git//連接遠(yuǎn)程倉(cāng)庫(kù)并建了一個(gè)名叫:origin的別名
git push -u origin master//將本地倉(cāng)庫(kù)的東西提交到地址是origin的地址专普,master分支下
需要注意的問題悯衬,進(jìn)行如下操作時(shí):
這里的id_rsa.pub文件是在.ssh目錄下,可能有小伙伴會(huì)發(fā)現(xiàn)自己的mac下沒看見.ssh目錄檀夹,難道是我忽悠大家啦筋粗?當(dāng)然不會(huì)啦,這么敗人品的事我怎么可能會(huì)做炸渡。沒看見.ssh目錄娜亿,是因?yàn)閙ac把這個(gè)目錄給隱藏了,如果你不信蚌堵,你可以進(jìn)行如下操作把隱藏文件給顯示出來买决。
顯示Mac隱藏文件的命令:defaults write com.apple.finder AppleShowAllFiles YES
隱藏Mac隱藏文件的命令:defaults write com.apple.finder AppleShowAllFiles NO
輸完單擊Enter鍵,退出終端辰斋,重新啟動(dòng)Finder就可以了
其實(shí)雖然你可能看不到.ssh目錄策州,但你還是可以通過終端命令來查看到.ssh目錄的,操作如下:
通過cat id_rsa.pub查看里面是一大串云里霧里的東西,不需要看懂宫仗,復(fù)制到“key”里就行了够挂。
相信我已經(jīng)講的還比較清楚了,有不清楚或者補(bǔ)充的小伙伴可以留言藕夫。
疑難問題分析和解決:
如果輸入$ git remote add origingit@github.com:KnightOneAdmin(github帳號(hào)名)/gitTest(項(xiàng)目名).git
提示出錯(cuò)信息:fatal: remote origin already exists.
解決辦法如下:
1孽糖、先輸入$ git remote rm origin
2、再輸入$ git remote add origingit@github.com:KnightOneAdmin/gitTest.git就不會(huì)報(bào)錯(cuò)了毅贮!
3办悟、如果輸入$ git remote rm origin還是報(bào)錯(cuò)的話,error: Could not remove config section 'remote.origin'. 我們需要修改gitconfig文件的內(nèi)容
4滩褥、找到你的github的安裝路徑病蛉,我的是
/usr/bin/git
5、找到一個(gè)名為gitconfig的文件瑰煎,打開它把里面的[remote "origin"]那一行刪掉就好了铺然!
如果輸入$ ssh -Tgit@github.com
出現(xiàn)錯(cuò)誤提示:Permission denied (publickey).因?yàn)樾律傻膋ey不能加入ssh就會(huì)導(dǎo)致連接不上github。
解決辦法如下:
1酒甸、先輸入$ ssh-agent魄健,再輸入$ ssh-add ~/.ssh/id_key,這樣就可以了插勤。
2沽瘦、如果還是不行的話革骨,輸入ssh-add ~/.ssh/id_key 命令后出現(xiàn)報(bào)錯(cuò)Could not open a connection to your authentication agent.解決方法是key用Git
Gui的ssh工具生成,這樣生成的時(shí)候key就直接保存在ssh中了析恋,不需要再ssh-add命令加入了良哲,其它的user,token等配置都用命令行來做助隧。
3臂外、最好檢查一下在你復(fù)制id_rsa.pub文件的內(nèi)容時(shí)有沒有產(chǎn)生多余的空格或空行,有些編輯器會(huì)幫你添加這些的喇颁。
如果輸入$ git push origin master
提示出錯(cuò)信息:error:failed to push som refs to .......
解決辦法如下:
1漏健、先輸入$ git pull origin master //先把遠(yuǎn)程服務(wù)器github上面的文件拉下來
2、再輸入$ git push origin master
3橘霎、如果出現(xiàn)報(bào)錯(cuò) fatal: Couldn't find remote ref master或者fatal: 'origin' does not appear to be a git repository以及fatal:
Could not read from remote repository.
4蔫浆、則需要重新輸入$ git remote add origingit@github.com:KnightOneAdmin/gitTest.git
使用git在本地創(chuàng)建一個(gè)項(xiàng)目的過程:
$ makdir ~/hello-world? ? //創(chuàng)建一個(gè)項(xiàng)目hello-world
$ cd ~/hello-world? ? ? //打開這個(gè)項(xiàng)目
$ git init? ? ? ? ? ? //初始化
$ touch README
$ git add README? ? ? ? //更新README文件
$ git commit -m 'first commit'? ? //提交更新,并注釋信息“first commit”
$ git remote add origin git@github.com:KnightOneAdmin/hello-world.git? ? //連接遠(yuǎn)程github項(xiàng)目
$ git push -u origin master? ? //將本地項(xiàng)目更新到github項(xiàng)目上去
//刪除文件夾下的所有 .svn 文件
find . -name ".svn" | xargs rm -Rf
//刪除文件夾下的所有 .git 文件
find . -name ".git" | xargs rm -Rf
總結(jié):
分享是一種精神姐叁,我相信所有的開發(fā)者都一樣瓦盛,想把好的東西分享出去,此遍文章引用了網(wǎng)上很多博客外潜,在經(jīng)過自己的實(shí)踐總結(jié)出來原环,希望大家使用github的時(shí)候少走些彎路,同時(shí)也是對(duì)我自己的一次積累处窥!