1. 程式人生 > >git使用-將本地專案新增到遠端程式碼庫

git使用-將本地專案新增到遠端程式碼庫

最近剛接觸Git,發現挺好用的,而且OSC還提供了免費的託管倉庫,打算把自己電腦上的程式碼同步到OSC上,結果總是出現各種失敗。網上搜索的解決方案大部分是先在[email protected]上建立專案,然後再clone到本地,而我是想把已經在本地建立好的倉庫直接push到[email protected]。摸索半天終於解決,分享一下我的方式。

        使用範圍:已經在本地通過 git init 命令建立了本地倉庫,然後想把本地倉庫push到[email protected]上。不對Git的安裝及使用進行詳細說明,Git詳細使用請參考http://git.oschina.net/progit/

(我的所有操作是在linux上進行的,windows上通過msysgit應該也能完成 )   

第一步:建立本地倉庫用於push到遠處倉庫[email protected]

1.隨意建立一個本地專案StudyGit,用於測試

# cd ./StudyGit  // 進入專案的根目錄

2.為StudyGit專案建立本地倉庫,進入StudyGit專案根目錄,在根目錄下執行如下操作:

# git init      //此時只是根據StudyGit專案目錄結構做了部分初始工作,StudyGit專案的檔案還沒被最終及提交到本地倉庫。

3.將StudyGit專案中的檔案提交到本地倉庫:

# git add .     //將目錄下所有檔案加入暫存區
# git commit -a -m “初次提交”    //此時本地倉庫中已經儲存有StudyGit專案的記錄了,接下來可以將本地倉庫中內容push到遠端倉庫了。

第二步:為當前使用者(我的是root使用者)建立ssh連線公鑰,並將公鑰新增在新增在個人的[email protected]賬號下,用於向遠端伺服器push時的驗證

參見其它文章,不再詳述。

第三步:為StudyGit專案新增遠端倉庫,並將本地倉庫中程式碼push到遠端倉庫:

  1.[email protected]上建立一個StudyGit的專案倉庫作為遠端倉庫使用,不一定要叫StudyGit其他名字應該也可以;        

  2.進入StudyGit的根目錄,為本專案新增遠端倉庫(注意一定要進入到StudyGit專案的目錄內,不一定要是根目錄,子目錄也可以):

 # git remote add osc [email protected]:flan/StudyGit.git    //1.”osc”是遠端倉庫地址的別名(不是遠端倉庫上專案的名字)可以隨便起,預設是origin

3.StudyGit.git 是剛剛在git.oschina.net上建立的遠端倉庫;   

  # git remote -v          //可以檢視當前專案連線的是哪個遠端倉庫地址

4.將本地倉庫push到[email protected]上的遠端倉庫:

 # git push -u osc master                //”osc” 是剛剛建立的遠端倉庫名,“master”是本地倉庫的主幹分支(目前也只有這一個分支,沒有其他分支)

如裡有報錯誤:

複製程式碼

To [email protected]:yangzhi/hello.git
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to '[email protected]:yangzhi/hello.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushin
hint: to the same ref. You may want to first merge the remote changes (e.g.
hint: 'git pull') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

複製程式碼

可以輸入:

git push -f 

5、克隆程式碼到本地:

git clone [email protected]:使用者名稱/專案名.git

=================================================================================================

其實在git上建立專案後,官方給出了很好的文件,幫助我們在本地從零或從已有專案與遠端建立關聯:

=================================================================================================