2016-07-15 103 views
0

我想克隆現有簽出的git存儲庫內部的git存儲庫並獲取此故障。我之前完成了這個工作流程,所以我無法弄清楚爲什麼現在會失敗。有沒有人有什麼建議?無法在現有簽出的git存儲庫中克隆git repo

Git倉庫確實存在,我可以在不同的位置

克隆簽出庫之外比方說,我做了以下

1. cd <existing git repo clone folder> 

2. git clone https://github.com/apache/cassandra 
Cloning Git Repository of cassandra 
Cloning into 'cassandra'... 
fatal: 'origin' does not appear to be a git repository 
fatal: Could not read from remote repository. 

什麼導致這個錯誤?

請注意 - 我不希望將這個存儲庫作爲子模塊添加到我的家長GIT REPO中。我只想弄清楚如何克隆從git中檢出的現有工作文件夾中的存儲庫。

+0

你嘗試'混帳克隆的https:// github.com /阿帕奇/ cassandra.git'(注意'在結束.git')? – Leon

回答

1

看看git submodules這是專門爲此設計的。您可以在這裏找到信息和示例:https://git-scm.com/book/en/v2/Git-Tools-Submodules

在你的情況,這可能工作:

git submodule add https://github.com/apache/cassandra 

爲了改變子模塊,以跟蹤特定提交更改目錄子模塊的文件夾,並切換分支爲正常。

cd submodule 
git checkout -b some_branch origin/some_branch 

或某種特定標籤

git checkout <version_tag> 

您將需要提交這一變化進行更新。

+0

我不想在檢出的git存儲庫中將此存儲庫添加爲子模塊。我只是想結賬git回購工作副本我已經簽出了git回購 – tsar2512

+0

看看這篇文章:http://stackoverflow.com/questions/5980960/git-repository-in-a-git -repository/5981099#5981099 –

+0

有什麼方法可以確保子模塊檢出特定的修訂版而不是檢出回購的HEAD?在這種情況下,我可以添加爲子模塊。 – tsar2512

0

你的問題似乎有衝突。你不能在沒有使用git子模塊AFAIK的情況下在另一個git倉庫中擁有一個git倉庫。

你可以做的是有一個不是git repo的目錄,並將repos複製到該目錄中(所以不要將repos放在對方內)。

您也可以將存儲庫作爲遠程添加(使用git remote add name_of_remote http://your/remote/here)。然後,您可以從同一個存儲庫中的任一回購中籤出任何分支。

0

我通常是不喜歡使用子模塊。這種情況下,我會做到以下幾點:

1)在主回購的.gitignore要存儲回購的文件夾路徑路徑的-卡桑德拉回購/ *(忽略它)

2)在終端執行其中「路徑的-卡桑德拉回購/」該文件夾的名稱,你想混帳存儲回購git clone https://github.com/apache/cassandra.git path-of-cassandra-repo/

3)你準備好去...快樂編碼。

讓我知道這對你的作品...

+0

忽略** cassandra-repo/**路徑而不是** cassandra-repo/***路徑會更好嗎? –