2010-05-11 178 views
38

在一臺機器(IP地址爲192.168.1.2),我創建的如何從另一臺機器'git clone'?

$ cd /home/hap/working 
$ git init 
$ (add some files) 
$ git add . 
$ git commit -m 'Initial commit' 

一個Git倉庫和我有相同的Wi-Fi網絡上的另一臺機器。我怎樣才能從其他機器克隆?

回答

64

你需要使用一個git +的ssh URL執行Git的克隆:

git clone git+ssh://[email protected]/~/working 

進行分解:

  • git+ssh告訴GIT中要使用ssh連接到Git存儲庫。
  • hap是您的用戶名(我假設您的問題是基於主目錄)。
  • 192.168.1.2是要連接到
  • ~/working是路徑到遠程機器上的Git倉庫的機器(所以~是你的主目錄)

一些其他的事情需要注意:

  • 您需要在機器上啓用了Git倉庫一個SSH服務器
  • 你需要知道用戶密碼
+6

我不認爲'git + ssh://'是必須的。你應該能夠簡單地使用'[email protected]:〜/ working'。從工作目錄直接克隆也可以設置克隆進入工作倉庫,這應該避免。 – bames53 2013-02-12 21:45:45

+2

這可能很有用,例如,如果您正在使用無法訪問遠程回購但可以訪問另一臺可訪問遠程的本地計算機的計算機X。在我的情況下,我正在使用這種方式在linux機器上開發,無法訪問需要直接訪問遠程設備的vpn。 – 2013-07-12 18:38:43

+0

使用證書克隆是否容易? – 2017-02-07 10:09:56

2

我假設在兩臺機器上都安裝了Git。

現在您所做的操作取決於您安裝了哪些服務,即如何從一臺機器連接到另一臺機器。

最簡單的情況是當你有sshd要從克隆在機器上運行,你可以從你想要克隆你想從克隆機的機器的ssh。

如果你能做到

ssh 192.168.1.2 

(或者,如果您有其他機器,ssh [email protected]對不同的用戶名),那麼你應該能夠通過SSH克隆,像Josiah wrote

git clone git+ssh://[email protected]/~/working 

如果要繼續在計算機之間進行讀取/推送,則應該爲SSH配置公鑰認證,而不必在每次獲取時提供密碼。


如果你沒有在源計算機上安裝sshd之前,你可以,如果你有安裝一個Web服務器和可以安裝的CGI腳本(見git-http-backend手冊頁)克隆使用「智能」 HTTP協議,或者您也可以如果您安裝了Web服務器,但只能提供靜態文件(您需要先在源存儲庫中運行git update-server-info),或者如果已安裝它,可以使用rsync進行克隆。

作爲最後的手段,您可以使用「git bundle」來創建一個可以移動的存檔,例如,使用USB隨身碟和克隆。

0

我認爲人們正在尋找這個答案。終端中的以下命令將登錄到服務器並克隆現有的回購站。在終端的當前路徑位置(因此cd首先到首選位置)。

sudo git clone [email protected]:/home/path/to/repo.git 

如果您現在不使用IP地址。使用ping來確定您的服務器的IP地址。 IP地址之後請不要忘記使用一個:然後寫入絕對路徑。

+0

爲什麼'sudo',爲什麼服務器? op特意在網絡上的兩個系統之間詢問,據說是爲了節省帶寬......這完全沒有回答這個問題,而且顯然是不正確的。 – thecarpy 2018-01-22 21:13:13

+0

@thecarpy你是對的當我讀回來時,它與確切的問題沒有多大關係。 – Michiel 2018-01-22 23:48:31

+0

不作爲根(使用'sudo')克隆,git中的所有文件都將由root擁有... – thecarpy 2018-01-23 06:26:23

相關問題