2010-08-09 340 views
4

我想要開始使用git。我們的項目位於具有基礎開發系統的目錄中。我已經爲自己創建了很棒的內容,但我無法將這些文件交給我的合作者。如何在沒有git-clone的情況下獲得git項目?

我們不能做一個git克隆,因爲它必須克隆到一個空目錄。

我試着在其中一個系統的dev目錄中初始化一個倉庫,向我的倉庫添加一個遠程,然後運行git-fetch。它做了大量的計算和下載,但最後,.git /結束了很多東西,但dev目錄中的文件保持不變。 ls文件不顯示任何內容。

我預計抓取拉下所有的文件。我在這裏誤解了什麼?

+0

也許你可以克隆到一個空目錄,然後複製所有其他的東西? – Cascabel 2010-08-10 13:06:37

回答

2

git fetch只會更新你的開發回購的遠程命名空間。
它的工作樹將保持不變(除了所有已有的遺留和私有文件外,它是「空的」)

你試過git pull
它將git獲取git merge遠程內容到您的主分支,同時填充您的工作樹。

+0

這樣做!我以爲我嘗試了拉,但顯然我沒有。 – 2010-08-10 13:28:24

0

真的不清楚你在描述這個問題。你已經有git倉庫設置?如果'是',那麼你無法克隆的確切原因是什麼?如果「否」,那麼首先想到的,你需要做的是:

cd project/ 
git init 
git add --all 
git commit -m "Initial commit" 
+0

是的,我有自己的存儲庫,以及另一個開發系統上的(新/空)存儲庫,我嘗試從中獲取。 我無法從存儲庫執行git克隆的原因是由於原始開發人員設置項目的方式 - 這是一個大型的跨平臺Linux構建環境。我們的項目文件與現有文件系統混合在一起。將克隆克隆到現有目錄需要它爲空;它不是(也不能沒有很大的努力)爲我們的系統。 – 2010-08-10 00:54:42

0

使用git-bundle可以在歸檔中傳輸整個回購內容。

對於docs

一些工作流程需要一臺機器上顯影的一個或多個分支另一臺機器上被複制,但兩個機不能直接連接,因此,交互GIT中的協議(GIT, ssh,rsync,http)不能使用。這個命令提供了對git fetch和git pull的支持,方法是在源機器的存檔中打包對象和引用,然後通過某種方式(例如,通過sneakernet)移動歸檔文件後,使用git fetch和git pull將這些文件導入到另一個存儲庫中, 。由於存儲庫之間不存在直接連接,因此用戶必須爲目標存儲庫持有的數據包指定基礎:數據包假定基礎中的所有對象都已存在於目標存儲庫中。

相關問題