2010-10-17 115 views
1

我剛剛掌握了openSuse 10.3 VPS。我真的不太瞭解Unix和SSH以及這些東西,但我想用我的服務器託管一個GIT存儲庫。這在我看來很簡單...在openSuse VPS上設置git存儲庫

這裏是我做過什麼:

我SSHed到我的服務器,並安裝GIT(我猜),只需輸入

# yast --install git 

那麼一些神奇的事情發生顯然,git已安裝。大!我還創建了一個用戶:

# git config --global user.name ... 
# git config --global user.email ... 

然後,我從我的本地磁盤的服務器複製的源代碼。因爲我真的不知道往哪裏放這樣的東西上的openSUSE的,我選擇了回家/ myRepository

接下來,我創建了一個倉庫那裏補充現有的文件,使用以下命令:

# cd home/myRepository 
# git init 
# git add . 
# git commit -m 'Add code' 

據我所知,一切都奏效了。例如。 git日誌顯示我的提交。

不,這是我的問題: 1)我做的一切都很好嗎? home/fooBar會成爲一個合適的目錄來存放存儲庫嗎? 2)更重要的是:如何在地球上我從我的本地機器訪問回購=我想創建一個本地克隆和Xcode 4,使用URL

git://123.456.789.012//home/myRepository 

,但是這顯然沒有奏效。我不知道這個URL是否正確。另外,是否必須創建一個新用戶才能從本地機器訪問存儲庫?

你看,我有很多問題,我顯然缺乏一些基本知識。我搜索了一段時間,但我沒有找到適合我的問題的指南。任何答案和有用的鏈接將不勝感激。謝謝!

回答

2

您可能會想要使用gitosis之類的東西安全地託管您的git存儲庫。我大多熟悉Debian Linux,並且最初在我開始時發現了這篇文章(http://blog.agdunn.net/?p=277)。您可能需要在openSuse安裝中找到相應的對等設備。

回答您的問題:

  1. 看起來是正確的,如果你說的是正確的。
  2. 您需要安裝gitosis或通過ssh通過用戶帳戶訪問它。

要安裝gitosis,您基本上需要安裝python並在您的vps上創建一個git用戶。您需要了解ssh密鑰。一旦你這樣做,你可以通過'git clone [email protected]:your-repo.git'克隆版本庫。您通過gitosis-admin存儲庫管理您的存儲庫,並通過簡單的「git push」使其生效。您可以爲所有擁有ssh公鑰的用戶創建組,並授予對特定存儲庫的讀/寫訪問權限。

通過這樣做,你已經做了什麼,你可以通過以下起牀很快:

在您的VPS:

  1. 創建您的VPS庫的目錄。我使用/ git。您的vps用戶需要此目錄的讀/寫權限。
  2. cd到這個目錄
  3. 的mkdir my_repo.git & & CD my_repo.git
  4. 的git的init --bare

移動到你的本地機器:

  1. 光盤插入您的git回購。
  2. git remote add origin ssh://[email protected]/git/my_repo.git
  3. 準備您的提交。 (至少有一個)
  4. git push origin master
  5. 此時,如果您尚未設置ssh密鑰,系統會提示您輸入密碼。
  6. 在此之後,您的存儲庫將通過ssh推送到您的vps。

要創建更多回購,您必須進入服務器並重復步驟2-4的服務器步驟。最棘手的部分是讓所有的路徑正確,否則你將被拒絕推/克隆/拉等。我被迫在沒有root權限的「quasi-vps」機器上使用這種方法。輸入密碼會變得很快......

我認爲你應該能夠按照上面的博客gitosis方向。只有包管理器命令纔會真的不同,看起來你知道如何使用yast。手冊頁(man adduser等)應該能夠讓你休息!

希望這會有所幫助。如果您有任何疑問,請告訴我,如果這有幫助!

+0

非常感謝你,我會給你一個鏡頭。所以,git只提供存儲庫,但不能遠程訪問它。因此,要在服務器上託管git存儲庫,我需要安裝一些額外的軟件(如gitoise)或通過SSH訪問它?我記得設置了一次SVN服務器,據我所知,在安裝Subversion並設置我的存儲庫之後,我很樂意去。 – Phlibbo 2010-10-18 12:35:21

+0

通過SSH的Git非常簡單。你要通過SSH進入你的VPS,對吧?但真正的gitosis,真的是要走的路,並且開銷很低。 – nearapogee 2010-10-18 13:57:01

+0

Unix傳統上使用一些集中的工具來完成一項工作,這要回到Unix的開始。 另一種選擇是使用[git-daemon](http://www.kernel.org/pub/software/scm/git/docs/git-daemon.html)。我從來沒有用過它,因爲gitosis非常簡單,但是你可以啓動git-daemon,並且擁有git傘下的所有東西。 僅供參考 - Git可以通過ssh,http和git協議傳輸。 – nearapogee 2010-10-18 14:03:52