项目托管到GitHub及简单使用
####GitHub ??GitHub是一個(gè)面向開(kāi)源及私有軟件項(xiàng)目的托管平臺(tái),也是基于Git的開(kāi)源分布式版本控制系統(tǒng)。在GitHub出現(xiàn)之前,開(kāi)發(fā)者想要將自己的項(xiàng)目開(kāi)源很容易實(shí)現(xiàn),但是如果想讓其他開(kāi)發(fā)者一起參與到開(kāi)源項(xiàng)目提交代碼,就需要想提交代碼的開(kāi)發(fā)者把diff文件發(fā)給官方倉(cāng)庫(kù)開(kāi)發(fā)者才能實(shí)現(xiàn)提交,也即只有創(chuàng)立那個(gè)開(kāi)源項(xiàng)目的開(kāi)發(fā)者才擁有倉(cāng)庫(kù)的寫(xiě)權(quán)限。GitHub出現(xiàn)后,利用其強(qiáng)大的克隆及分支功能,廣大的開(kāi)發(fā)者便可以自由的參與到各種開(kāi)源項(xiàng)目。那么問(wèn)題來(lái)了,我們?cè)撊绾螀⑴c開(kāi)源項(xiàng)目呢?比如非常討人喜歡的AFNetworking網(wǎng)絡(luò)庫(kù)。
####參與到開(kāi)源項(xiàng)目 ??首先,我們可以訪問(wèn)項(xiàng)目主頁(yè)github.com/AFNetworkin…點(diǎn)擊Fork,這樣就在自己的賬戶下克隆了一個(gè)AFNetwroking倉(cāng)庫(kù),然后從自己的賬戶下clone:
git clone git@github.com:DH-Fantasy/AFNetworking.git 復(fù)制代碼??這樣就可以將修改的代碼往自己的倉(cāng)庫(kù)進(jìn)行推送。如果你希望AFNetworking的官方庫(kù)接受你修改的代碼,你可以在GitHub上發(fā)起一個(gè)Pull Request。當(dāng)然,接不接受那就不一定了,即便如此,還是加油吧! ??需要注意的是一定要在自己的賬戶下clone倉(cāng)庫(kù),如果從AFNetworking作者的倉(cāng)庫(kù)git@github.com:AFNetworking/AFNetworking.git進(jìn)行clone,由于沒(méi)有寫(xiě)的權(quán)限,修改的代碼將不能推送。
??通過(guò)上述內(nèi)容,你應(yīng)該已經(jīng)對(duì)如何參與到一個(gè)開(kāi)源項(xiàng)目的流程有了大概的認(rèn)識(shí)。如果想要加深這方面的知識(shí),請(qǐng)點(diǎn)擊: Contributing to Open Source on GitHub或譯文如何參與一個(gè)GitHub開(kāi)源項(xiàng)目?那么接下來(lái)我們思考下如何將自己的項(xiàng)目進(jìn)行開(kāi)源?以供別的開(kāi)發(fā)者參與進(jìn)來(lái)。
####開(kāi)源自己的項(xiàng)目 ??那么我們?cè)撛趺磳⒈镜氐拇a上傳至GitHub,以供別的開(kāi)發(fā)者參與進(jìn)來(lái)進(jìn)行修改?我們需要完成以下幾步。 ??Step1:安裝Git并配置Git賬戶信息 ??安裝Git有兩種方法: ??1.首先安裝homebrew,然后通過(guò)homebrew安裝Git,具體的安裝方法可以參考homebrew的文檔。 ??2.直接從AppStore安裝Xcode,Xcode集成了Git,最新版的Xcode已經(jīng)默認(rèn)安裝好了Git。完成安裝之后,就可以使用 Git 的命令行工具。 ??配置Git賬戶信息
git config --global user.name "用戶名" git config --global user.email "郵箱" 復(fù)制代碼??郵箱為注冊(cè)GitHub的郵箱 ??Step2:創(chuàng)建本地SSH keys ??生成密鑰文件和私鑰文件。使用該命令之后, 會(huì)出現(xiàn)提示選擇SSH keys 生成路徑, 直接點(diǎn)回車默認(rèn)即可, 生成的SSH keys在默認(rèn)路徑中;如果不需要使用密碼進(jìn)行登入,就一路回車下去即可。
ssh-keygen -t rsa -C"郵箱" 復(fù)制代碼??檢查SSH keys是否存在以驗(yàn)證本地SSH keys是否創(chuàng)建成功。
ls -al ~/.ssh 復(fù)制代碼??使用ssh-add將生成的private key加入到ssh agent中
ssh-add ~/.ssh/id_rsa 復(fù)制代碼??將SSH key從文件拷貝到粘貼板中
pbcopy < ~/.ssh/id_rsa.pub 復(fù)制代碼??打開(kāi)GitHub -> SSH and GPG keys -> New SSH key ??Title 隨便填,command + V 將SSH key填入key,點(diǎn)擊Add SSH key ??回到終端執(zhí)行ssh git@github.com測(cè)試下是否成功
??Step3:創(chuàng)建本地庫(kù)及遠(yuǎn)程庫(kù)
cd 到當(dāng)前工程路徑 echo "# DHAudioDemo" >> README.md git init //初始化本地庫(kù) git add . //將工程添加到索引庫(kù) git commit -m "first commit" //將工程添加到本地緩存區(qū) 在遠(yuǎn)程創(chuàng)建一個(gè)庫(kù)(也可以為已擁有的遠(yuǎn)程庫(kù)) git remote add origin git@github.com:path/projectName.git // 如果第一次則需要將遠(yuǎn)程庫(kù)和本地庫(kù)進(jìn)行連接,之后不需要 git push // 如果第一次push到遠(yuǎn)程庫(kù)則使用git push -u origin master推送master分支的所有內(nèi)容 復(fù)制代碼??如果當(dāng)前分支只有一個(gè)追蹤分支,那么主機(jī)名可以省略,直接使用git push;如果當(dāng)前分支與多個(gè)主機(jī)存在追蹤關(guān)系,則可以使用-u選項(xiàng)指定一個(gè)默認(rèn)主機(jī),如:git push -u origin master命令將本地的master分支的內(nèi)容推送到origin主機(jī),同時(shí)指定origin為默認(rèn)主機(jī),這樣后面就可以不加任何參數(shù)使用git push。 ??如果輸入git remote add origin git@github.com:(GitHub賬戶名)/(項(xiàng)目名).git ??出現(xiàn)錯(cuò)誤:fatal: remote origin already exists. ??解決辦法如下: ??1.先輸入git remote rm origin; ??2.再輸入git remote add origin git@github.com:DH-Fantasy/DHAudioDemo.git就不會(huì)報(bào)錯(cuò)。
####Git遠(yuǎn)程庫(kù)相關(guān)操作 修改遠(yuǎn)程庫(kù)地址命令 git remote set-url origin Newurl 刪除當(dāng)前遠(yuǎn)程庫(kù)關(guān)聯(lián) git remote rm origin 添加新的遠(yuǎn)程庫(kù)關(guān)聯(lián) git remote add origin git@github.com:GitHub用戶名/項(xiàng)目名.git
####參考鏈接 1.如何生成SSH key 2.如何在本地環(huán)境配置GitHub 3.使用GitHub 4.GitHub常見(jiàn)操作和常見(jiàn)錯(cuò)誤!錯(cuò)誤提示:fatal: remote origin already exists.
聯(lián)系作者:簡(jiǎn)書(shū)·DH_Fantasy 新浪微博·DH_Fantasy 版權(quán)聲明:自由轉(zhuǎn)載-非商用-非衍生-保持署名(CC BY-NC-ND 3.0)
轉(zhuǎn)載于:https://juejin.im/post/5a9021eb5188257a7924bc3d
總結(jié)
以上是生活随笔為你收集整理的项目托管到GitHub及简单使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: if else和switch的效率
- 下一篇: 算法学习之路|最小生成树—kruskal