2011-12-21 104 views
2

我從我的筆記本電腦上的服務器克隆了一個git存儲庫正在運行的macosx。 我有一臺筆記本電腦B運行linux,我如何克隆筆記本電腦A上的git存儲庫?如何從一臺機器的git存儲庫克隆到另一臺機器?

我怎樣才能得到從克隆的網址?

謝謝。

+0

您可以使用ssh從筆記本電腦B登錄到筆記本電腦A嗎?如果沒有,請先打開它(最簡單的方法是在Spotlight中搜索「ssh」)。 – 2011-12-21 00:21:28

回答

1

雖然你可以在Web服務器上託管回購,你可以保持簡單,你可以直接共享文件並直接從目錄克隆(這將是機器文件路徑 - \ linuxbox \ gitshare \ myproject)。

我建議有一個「主」裸倉庫克隆以簡化機器之間的合併(如果需要)。

+0

+1 – fge 2011-12-21 00:26:42

0

我想這有點像

git clone file://\\\\192.168.0.33\yourpath 

會工作

1

您需要設置或者使用Git進程或ssh

既然你想在Mac克隆,

第一方式 - 使用git守護進程,輕量級服務器

  1. Mac:在Mac上頭到您的存儲庫,確保它是裸露的,即我。e可以運行ls -lrt,它應該看起來像

    drwxr-xr-x 4 fooo admin 136 21 Dec 12:26 refs 
    -rw-r--r-- 1 fooo admin 205 21 Dec 12:26 packed-refs 
    drwxr-xr-x 4 fooo admin 136 21 Dec 12:26 objects 
    drwxr-xr-x 3 fooo admin 102 21 Dec 12:26 info 
    drwxr-xr-x 12 fooo admin 408 21 Dec 12:26 hooks 
    -rw-r--r-- 1 fooo admin 73 21 Dec 12:26 description 
    -rw-r--r-- 1 fooo admin 161 21 Dec 12:26 config 
    drwxr-xr-x 2 fooo admin 68 21 Dec 12:26 branches 
    -rw-r--r-- 1 fooo admin 23 21 Dec 12:26 HEAD 
    

    如果沒有,則執行步驟2

  2. 運行git clone --bare /<Path to your repository>

  3. 創建一個空文件git的守護出口-OK: echo '' > git-daemon-export-ok

  4. 運行

    git daemon --base-path=`pwd` --verbose --port=9418 
    
  5. 的Linux:克隆你的Git倉庫:

    git clone git://<mac os ip address> <name of folder you want to check out to> 
    

    例子 -

    git clone git://192.168.1.2 javaAddOn 
    

方式二 - 用SSH - [稍硬]

  1. MAC:在Mac頭部系統預置=>遠程登錄

  2. 打開終端創建ssh密鑰:

    cd ~ 
    ssh-keygen -t rsa #Press enter for all default values 
    cd .ssh 
    cat id_rsa.pub >> authorized_keys 
    
  3. LINUX:執行相同的步驟,在步驟2中,跳過創建在authorized_keys中

  4. 複製從MAC下的〜/ .ssh /授權密鑰到Ubuntu的 -

    scp <macuser>@<macip>:/Users/<macuser>/.ssh/authorized_keys ~/.ssh/ 
    
  5. 檢查以確保您可以從Linux的ssh。 ssh <macuser>@<macip>

  6. 如果第5步成功,您可以使用git。

    git clone <macuser>@<macip>:<Full Path of the repository location 
    

例如

git clone [email protected]:/Users/pm/repositories_git/JavaTasks 

最後,如果你想在Mac和Linux的發展和雙方承諾,你必須使用第二種方法,然後推拉變化。我有完全相同的設置,但通常我只在Linux中開發,然後將更改推送到Mac。

相關問題