将在本地创建的Git仓库push到Git@OSC
為什么80%的碼農(nóng)都做不了架構(gòu)師?>>> ??
? ??? ? 本人小白一個(gè),最近剛接觸Git,發(fā)現(xiàn)挺好用的,而且OSC還提供了免費(fèi)的托管倉(cāng)庫(kù),打算把自己電腦上的代碼和在公司無(wú)聊時(shí)寫的代碼給同步到OSC上,結(jié)果總是出現(xiàn)各種失敗。網(wǎng)上搜索的解決方案大部分是先在Git@OSC上創(chuàng)建項(xiàng)目,然后再clone到本地,而我是想把已經(jīng)在本地創(chuàng)建好的倉(cāng)庫(kù)直接push到Git@OSC上。摸索半天終于解決,分享一下我的方式。
????? ? 實(shí)用范圍:已經(jīng)在本地通過(guò) git init 命令創(chuàng)建了本地倉(cāng)庫(kù),然后想把本地倉(cāng)庫(kù)push到Git@OSC上。不對(duì)Git的安裝及使用進(jìn)行詳細(xì)說(shuō)明,Git詳細(xì)使用請(qǐng)參考http://git.oschina.net/progit/(我的所有操作是在linux上進(jìn)行的,windows上通過(guò)msysgit應(yīng)該也能完成?) ??? ??
第一步:創(chuàng)建本地倉(cāng)庫(kù)用于push到遠(yuǎn)處倉(cāng)庫(kù)Git@OSC上,如果已經(jīng)有本地倉(cāng)庫(kù)的可以忽略此步;
???????1.隨意創(chuàng)建一個(gè)本地項(xiàng)目StudyGit,用于測(cè)試:
????? ? # mkdir -p StudyGit/src/com/study/lynn
????????#?mkdir -p StudyGit/src/com/study/zeng
????? ? #?cd ./StudyGit
????? ? #?vim ReadMe.md
????? ? #?cd ./StudyGit/src/com/study/lynn
????? ? #?vim FirstActivity.java
????????#?cd ./StudyGit/src/com/study/zeng
????????#?vim SecondActivity.java
? ? ?以上操作創(chuàng)建了一個(gè)目錄結(jié)構(gòu)如下的項(xiàng)目:(我是在root賬號(hào)的家目錄下創(chuàng)建了一個(gè)StudyGit項(xiàng)目)
? ????????????
????? ? 2.為StudyGit項(xiàng)目創(chuàng)建本地倉(cāng)庫(kù),進(jìn)入StudyGit項(xiàng)目根目錄,在根目錄下執(zhí)行如下操作:
?????????????# git init ?????//此時(shí)只是根據(jù)StudyGit項(xiàng)目目錄結(jié)構(gòu)做了部分初始工作,StudyGit項(xiàng)目的文件還沒被最終及提交到本地倉(cāng)庫(kù)。
? ? ? ? ? ? ?
?????????3.將StudyGit項(xiàng)目中的文件提交到本地倉(cāng)庫(kù):
????????????? ? # git add src/
????????????? ? # git add ReadMe.md????????? ? //將src目錄下的文件和Readme.md文件加入暫存區(qū)
? ? ? ? ? ? ? ??# git commit -a -m "初次提交"? ? //此時(shí)本地倉(cāng)庫(kù)中已經(jīng)保存有StudyGit項(xiàng)目的記錄了,接下來(lái)可以將本地倉(cāng)庫(kù)中內(nèi)容push到遠(yuǎn)程倉(cāng)庫(kù)了。
????????????????
第二步:為當(dāng)前用戶(我的是root用戶)創(chuàng)建ssh連接公鑰,并將公鑰添加在添加在個(gè)人的Git@OSC賬號(hào)下,用于向遠(yuǎn)程服務(wù)器push時(shí)的驗(yàn)證
?????????1.進(jìn)入root的家目錄(/root/.ssh)中會(huì)有一個(gè) .ssh 的隱藏目錄(安裝Git后在每個(gè)賬號(hào)的用戶目錄下都會(huì)有這個(gè)文件夾,如果是windors下的msysgit的話,一般在C:\Users\用戶名\.ssh下),里面有兩個(gè)文件?id_rsa 和 id_rsa.pub ,其中id_rsa.pub中的內(nèi)容就是我們要的公鑰;如果沒有這兩個(gè)文件,或者覺得不保險(xiǎn)可以直接刪了通過(guò)下面命令重新創(chuàng)建:
????????????? ? # ssh-keygen? ? //執(zhí)行該命令后,途中還需要按三次回車,后兩次是輸入密碼,可以隨便輸兩次要一致,為了方便可以不輸入,直接回車;
????????????????
????????? ? 2.進(jìn)入id_rsa.pub文件,將其中全部?jī)?nèi)容復(fù)制添加在你個(gè)人Git@OSC賬號(hào)下的公鑰中保存(保存時(shí)需要輸入你的賬戶密碼);
????????????? ??
????? ? 3.驗(yàn)證下公鑰是否添加成功:
? ? ? ? ? ? ? ??#ssh -T git@git.oschina.net????????? ? //中途會(huì)詢問(wèn)是否連接,輸入yes回車,Welcome 表示已經(jīng)連接成功
? ? ? ? ? ? ? ??
第三步:為StudyGit項(xiàng)目添加遠(yuǎn)程倉(cāng)庫(kù),并將本地倉(cāng)庫(kù)中代碼push到遠(yuǎn)程倉(cāng)庫(kù):
????? ? 1.在Git@OSC上創(chuàng)建一個(gè)StudyGit的項(xiàng)目倉(cāng)庫(kù)作為遠(yuǎn)程倉(cāng)庫(kù)使用,不一定要叫StudyGit其他名字應(yīng)該也可以(沒試過(guò));? ??? ??
????? ? 2.進(jìn)入StudyGit的根目錄,為本項(xiàng)目添加遠(yuǎn)程倉(cāng)庫(kù)(注意一定要進(jìn)入到StudyGit項(xiàng)目的目錄內(nèi),不一定要是根目錄,子目錄也可以):
????????? ? ? ?# git remote add osc git@git.oschina.net:flan/StudyGit.git????? ? //1."osc"是遠(yuǎn)程倉(cāng)庫(kù)地址的別名(不是遠(yuǎn)程倉(cāng)庫(kù)上項(xiàng)目的名字)可以隨便起,默認(rèn)是origin;2.?git@git.oschina.net:flan/StudyGit.git?注意冒號(hào)后面的“flan”,是osc為各個(gè)賬號(hào)分配的路徑,我的遠(yuǎn)程倉(cāng)庫(kù)路徑是http://git.oschina.net/flan/StudyGit.git,所以冒號(hào)后是flan,不同賬號(hào)會(huì)不同請(qǐng)注意更改;3.StudyGit.git?是剛剛在git.oschina.net上創(chuàng)建的遠(yuǎn)程倉(cāng)庫(kù);
????? ? ????? ?# git remote -v ? ? ?? ? //可以查看添加的遠(yuǎn)程倉(cāng)庫(kù)
???????????????
? ? ? ? 3.將本地倉(cāng)庫(kù)push到Git@OSC上的遠(yuǎn)程倉(cāng)庫(kù):
????? ? ???????# git push osc master????????????? ? //"osc" 是剛剛創(chuàng)建的遠(yuǎn)程倉(cāng)庫(kù)名,“master”是本地倉(cāng)庫(kù)的主干分支(目前也只有這一個(gè)分支,沒有其他分支)
???????????????
現(xiàn)在,已經(jīng)完成將本地倉(cāng)庫(kù)push到Git@OSC上,如果對(duì)其中用到的git命令不明白的可以參看http://git.oschina.net/progit/?。第一次寫博客有什么錯(cuò)誤歡迎指出!
轉(zhuǎn)載于:https://my.oschina.net/flan/blog/162189
總結(jié)
以上是生活随笔為你收集整理的将在本地创建的Git仓库push到Git@OSC的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 公认最耗电的家用电器 比较耗电的家用电器
- 下一篇: 祭灶节吃什么糖