說明:本文是介紹mac環(huán)境下如何將一個(gè)本地項(xiàng)目提交到Github上的
背景:這兩天寫了一個(gè)安卓Demo躲舌,是關(guān)于音樂播放器的示惊,功能是可以從本地選取音樂,然后可以重復(fù)播放某一段的音樂杜顺,內(nèi)部是使用MediaPlayer實(shí)現(xiàn)的采幌,已經(jīng)完成的差不多了,拿出來給大家分享一下靠粪,之前也提交過項(xiàng)目到github上過蜡吧,不過步驟已經(jīng)忘了,現(xiàn)在重新整理一下步驟占键。
項(xiàng)目地址:https://github.com/jixinxinOOO/iClip
本文流程如下
準(zhǔn)備工作
1.在Github上注冊(cè)賬號(hào)
2.電腦安裝git客戶端
第一步:本地創(chuàng)建公鑰和私鑰
1.1:輸入git --version [查看git版本號(hào)斩跌,檢測(cè)當(dāng)前電腦是否安裝git客戶端]
查看當(dāng)前mac是否有安裝git客戶端,如果結(jié)果是:git version x.xx(git版本號(hào))捞慌,如果沒有耀鸦,請(qǐng)手動(dòng)安裝git客戶端,這里不再列出安裝過程??
1.2:輸入 cd ~/.ssh 查看是否配置ssh key
如果出現(xiàn) No such file or directory啸澡,說明之前沒有用過袖订,忽略當(dāng)前操作,進(jìn)行下一步嗅虏。如果之前用過需要清理原來的rss洛姑,終端輸入命令:mkdir key_backup
rm id_rsa*
1.3:配置郵箱及ssh。輸入ssh-keygen -t rsa -C 你的郵箱@qq.com皮服,輸入y楞艾,一直回車
image.png密碼想輸入就輸入一個(gè),不想輸入的話龄广,就直接Enter
確認(rèn)完畢后硫眯,程序?qū)⑸梢粚?duì)密鑰存放在以下文件夾:
/users/用戶/.ssh/密鑰分成兩個(gè)文件,一個(gè)私鑰(id_rsa)择同、一個(gè)公鑰(id_rsa.pub)两入。
私鑰保存在您的電腦上,公鑰交項(xiàng)目負(fù)責(zé)人添加到服務(wù)器上敲才。用戶必須擁有與服務(wù)器公鑰所配對(duì)的私鑰裹纳,才能訪問服務(wù)器上的代碼庫择葡。
第二步:向GitHub上設(shè)置自己的公鑰及創(chuàng)建新的倉庫
2.1:復(fù)制公鑰
執(zhí)行命令:pbcopy < ~/.ssh/id_rsa.pub 將公鑰的內(nèi)容復(fù)制到內(nèi)存里。[意思就是可以粘貼出來]
2.2:登錄GitHub,按下圖順序操作
imageimageimage若是多次設(shè)置公鑰則下圖所在位置
image
2.3: 測(cè)試連接是否成功
在終端輸入命令:ssh -T git@github.com
連接成功如下圖:imageimage
2.4:在github下建自己的Repository。
創(chuàng)建過程如下圖順序:
imageimage創(chuàng)建成功如下圖:
image
第三步:通過git上傳代碼到github
在GitHub上的這個(gè)倉庫還是空的,我們可以把一個(gè)已有的本地倉庫與之關(guān)聯(lián)觉鼻,然后,把本地倉庫的內(nèi)容推送到GitHub倉庫虹曙。
現(xiàn)在先把本地的項(xiàng)目通過git上傳到github上。
步驟 | 終端常用命令 | 作用 |
---|---|---|
1 | git init | 給X項(xiàng)目創(chuàng)建Git倉庫 |
2 | git add * | 把X項(xiàng)目文件添加到Git倉庫 |
3 | git commit -m “注釋” | 把X項(xiàng)目文件提交到本地Git倉庫 |
4 | git remote add origin SSH key(SSH key:根據(jù)項(xiàng)目定) | 本地倉庫關(guān)聯(lián)遠(yuǎn)程倉庫 |
5 | git pull origin master - -allow-unrelated-histories | 拉取遠(yuǎn)程倉庫的代碼番舆,然后強(qiáng)制合并 |
6 | git push -u origin master | 將本地項(xiàng)目推到遠(yuǎn)程倉庫 |
說明:以上所有的終端命令都是在要上傳項(xiàng)目的根目錄下進(jìn)行的;
3.1:在iClip項(xiàng)目目錄下創(chuàng)建Git倉庫
- 終端輸入命令:cd 項(xiàng)目目錄 矾踱,跳轉(zhuǎn)到項(xiàng)目目錄恨狈,
- 終端輸入命令:git init,瞬間Git就把倉庫建好了呛讲,而且告訴你是一個(gè)空的倉庫(empty Git repository)
image
- 終端輸入命令:ls -all禾怠,看到這個(gè)目錄下的內(nèi)容
image當(dāng)前目錄下多了一個(gè).git的目錄,這個(gè)目錄是Git來跟蹤管理版本庫的贝搁,沒事千萬不要手動(dòng)修改這個(gè)目錄里面的文件吗氏,不然改亂了,就把Git倉庫給破壞了雷逆。如果你沒有看到.git目錄弦讽,那是因?yàn)檫@個(gè)目錄默認(rèn)是隱藏的,用ls -ah命令就可以看見膀哲。
注意:也不一定必須在空目錄下創(chuàng)建Git倉庫往产,選擇一個(gè)已經(jīng)有東西的目錄也是可以的。我這個(gè)目錄有項(xiàng)目存在某宪。
3.2:把iClip項(xiàng)目文件添加到Git倉庫
終端輸入命令:
image終端沒有任何顯示仿村,說明添加成功
說明:用命令git add告訴Git(可以使用git add file git add /* 或者 git add *),把文件添加到倉庫兴喂, git add可反復(fù)多次使用蔼囊,添加多個(gè)文件。執(zhí)行g(shù)it add *衣迷,沒有任何提示畏鼓,說明添加成功。使用命令git add * 會(huì)錯(cuò)誤如下圖
image
3.3:把iClip項(xiàng)目文件提交到本地倉庫
終端輸入命令:git commit -m "注釋"
如下圖所示壶谒,表示commit成功滴肿。
image
3.4:關(guān)聯(lián)遠(yuǎn)程庫
在本地的wangjdemo倉庫下: 終端輸入命令:
git remote add origin git@github.com:jixinxinOOO/iClip.git
沒有任何提示,表示添加遠(yuǎn)程庫成功佃迄。
image
image.png說明:命令的格式:git remote add orgin SSH Key 泼差;
origin是Git對(duì)遠(yuǎn)程庫的默認(rèn)叫法贵少,可以更改,是SSH Key的別名堆缘;
SSH Key是需要去GitHub上對(duì)應(yīng)項(xiàng)目的【Clone or download】復(fù)制的滔灶。
3.5:拉取遠(yuǎn)程庫的代碼到本地,保證拿到服務(wù)器最新代碼
終端輸入命令:git pull origin master --allow-unrelated-histories吼肥,拉取遠(yuǎn)程代碼到本地
出現(xiàn)下圖:
image
如果出現(xiàn)如下圖:image.png【我的出現(xiàn)這個(gè)錯(cuò)誤录平,是因?yàn)橹皠?chuàng)建的.git文件和現(xiàn)在調(diào)用命令git init里面可能有沖突吧,我手動(dòng)吧.git文件刪除后缀皱,這一步驟可以正常提交了】
但是又出現(xiàn)了這個(gè)錯(cuò)誤image.png有文件沖突斗这,需要整合一下,它提示我刪除文件啤斗,我就調(diào)用了git命令
rm .gitignore表箭,刪除了.gitignore文件
然后重新調(diào)用 git pull origin master --allow-unrelated-histories,這行命令钮莲,把文件提交到遠(yuǎn)程倉庫免钻,然后成功了,截圖如下image.png
這個(gè)時(shí)候需要退出這個(gè)命令行輸入“:wq”退出輸入終端崔拥,終端顯示如下:
image
3.6:提交本地代碼到遠(yuǎn)程倉庫极舔。終端輸入命令:git push -u origin master,這樣才能在github上看到自己的項(xiàng)目
提交成功如下圖
image
結(jié)束
這樣第一次成功的把代碼提交到了github上了链瓦,后續(xù)的更新代碼及相關(guān)放到另一個(gè)文章中介紹吧拆魏,這次的目標(biāo)已經(jīng)實(shí)現(xiàn)啦。
參考文章:http://www.reibang.com/p/5a1d9a248ea4
iClip項(xiàng)目地址:https://github.com/jixinxinOOO/iClip