2013-08-23 40 views
1

我正在使用的遠程回購現在沒有了。我的本地回購有我所有的歷史和我需要的一切。我通過創建用戶,ssh訪問,一個名爲developers的組和目錄來建立一個新的遠程repo。然後我創建了符號鏈接到每個用戶的主目錄中的回購站。然後,我開始遠程回購如下:在Git中設置新的遠程回購的正確方法是什麼? (原始遠程回購丟失)

git init --bare --shared=group 
chgrp -R developers . 

在我的本地機器我編輯的〜/ .ssh/config並與該主機所需的身份文件一起定義的新主機。然後我編輯.git/config並根據需要更改遠程URL。 git remote -v報告預期的新來源。

現在我的問題是,下面哪兩個選項(假設一個是正確的)我需要做下一步?我已經看到這兩個建議,我不知道哪個適合我的情況。

選擇1:

git push -u origin master 

選擇2(但我相信我會跳過前兩個步驟):

$ git remote rm origin 
$ git remote add origin [email protected]:aplikacjainfo/proj1.git 
$ git config master.remote origin 
$ git config master.merge refs/heads/master 
$ git push 

我不明白的命令git config master.merge refs/heads/master

我的目標是首先將所有本地歷史記錄導入新的遠程回購站。然後,我希望能夠在本地進行提交,並執行git push並按預期方式使新的遠程回購工作正常進行。謝謝

+0

github和這有什麼關係?你說你設置了自己的服務器...... – remram

回答

1

鑑於您已經手動編輯.git/config,只需使用git push -u origin master。它會做所有剩下的事情。

+0

運行這個命令後,有沒有一種方法可以驗證遠程存儲庫是否包含所有歷史記錄和所有文件/對象?謝謝。 – MountainX

+1

你不需要驗證,Git是非常安全的設計。除非您的服務器的硬盤驅動器發生故障,否則在'push'命令成功後,對象就在那裏。 如果使用[ls-remote](https://www.kernel.org/pub/software/scm/git/docs/git-ls-remote.html),您可以列出遠程的所有參考文獻你感覺好點 ;-) – remram