mac下使用github

一、準(zhǔn)備工作

工欲善其事必先利器,首先你得完成如下兩個(gè)工作:
1、下載安裝git客戶端 http://www.pc6.com/mac/133797.html
2、注冊(cè)github賬號(hào) https://github.com/join?source=header-home

二、ssh配置

1、創(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生成目錄,在(/Users/twer/.ssh/id_rsa)處輸入要生成的路徑,選擇默認(rèn)的話,會(huì)生成在 ~/.ssh下

2、在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.

三、上傳代碼

1、在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 //初始化本地倉庫
git add README.md //添加
git commit -m "first commit"//提交到要地倉庫,并寫一些注釋
git remote add origin git@github.com:youname/Test.git//連接遠(yuǎn)程倉庫并建了一個(gè)名叫:origin的別名
git push -u origin master //將本地倉庫的東西提交到地址是origin的地址,master分支下

這樣你的倉庫就創(chuàng)建好了,然后你可以把倉庫clone到本地,在該目錄下創(chuàng)建工程,然后通過github客戶端進(jìn)行同步就好啦。

四、注意(拷貝ssh時(shí))

進(jìn)行如下操作時(shí):

Key:打開你生成的id_rsa.pub文件,將其中內(nèi)容拷貝至此

這里的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”里就行了。

五、疑難問題分析和解決

(一)、如果輸入$ git remote add origin git@github.com:djqiang(github帳號(hào)名)/gitdemo(項(xiàng)目名).git
提示出錯(cuò)信息:fatal: remote origin already exists.
解決辦法如下:
1、先輸入$ git remote rm origin
2、再輸入$ git remote add origin git@github.com:djqiang/gitdemo.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的安裝路徑,我的是C:\\Users\\ASUS\\AppData\\Local\\GitHub\\PortableGit_ca477551eeb4aea0e4ae9fcd3358bd96720bb5c8\\etc
5、找到一個(gè)名為gitconfig的文件,打開它把里面的[remote "origin"]那一行刪掉就好了!

(二)、如果輸入$ ssh -T git@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:djqiang/gitdemo.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:defnngj/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

遇到的問題及解決方法:
Git Commit failed - exit code 1 received
原因是曾在這個(gè)文件夾上建過倉庫,沒有刪除本地的配置文件。


刪除.git文件夾即可

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容