2011-08-15 67 views
9

我在GitHub上使用git倉庫。我知道用於導航和編輯存儲庫的基本命令,但我不知道如何從頭開始設置。如何在Ubuntu中設置私人git存儲庫?

我想爲git repo設置我自己的服務器,這樣我的好友就可以幫助我開發適用於Android的遊戲。但我不知道如何!

Gitosis會是最好的選擇嗎?

+1

使用GitHub不是一個選項嗎? –

+2

@Esko,GitHub不是一種選擇,因爲爲了使回購私人它需要$$$,我正在尋找一個免費的選項。 – KRB

+0

https://bitbucket.org提供免費的私人git和mercurial存儲庫。 –

回答

9

首先,您需要創建回購(簡單爲git init
第二,您需要讓您的好友訪問回購。

你可以使用它的git處理幾個選項:

  • 通過file://(局域網直接訪問)通過FTP
  • 通過Git協議
  • (SSH訪問)

三,管理訪問,權限等。

爲此,最好的選擇是gitolite,好於gitosis。回購中有一個很好的安裝指南。最棘手的部分是設置無密碼訪問服務器(但這實際上並沒有git相關)。使用Ubuntu和Github你可能知道什麼是公共ssh密鑰。

Gitolite是迄今爲止最好的選擇,但有點複雜。但是,如果您不想使用gitolite,您可能仍然只能啓動回購,並使機器可訪問,這是最簡單的解決方案。

另請參閱Setting Up the Server從免費Pro Git書。有關於gitolitegitosis的章節也是如此。

10

IMO最簡單的方法就是使用ssh。如果你有一臺你和你的朋友都可以使用的機器,那麼你只需要製作一個倉庫的副本,把它放到ssh服務器上,然後從那裏克隆它。我使用我的dreamhost帳戶作爲服務器來執行此操作。

cd my-repo 
cd .. 
# Make a bare copy of the repo 
git clone --bare my-repo my-repo.git 
# Upload the bare copy to the server 
# -- in this case, I've already created a /repos folder to hold the bare repos 
rsync my-repo.git/ mysshserver:/repos/my-repo.git/ 
# Add the new server repo as a remote to your local repository 
cd my-repo 
git remote add origin mysshserver:/repos/my-repo.git 

然後爲您的好友:

git clone mysshserver:/repos/my-repo.git/ 

唯一的技巧是確保你使用的是具有寫權限的文件夾回購所有用戶帳戶(/repos/my-repo.git/*在服務器上)。

+0

偉大的建議,謝謝。你真的意思是「git remote add master」嗎?或者應該是「git remote add origin」? (我是git的新手,所以可能會感到困惑。) – Nelson

+1

是的,你說得對,可能應該是原點。修復了答案。 – avh

相關問題