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