2016-08-17 222 views
3

我有一個倉庫與谷歌硬盤同步,但我忽略了.git目錄,因此它現在被上傳到Google Drive。克隆git倉庫的.git目錄

最近我對自己的Gentoo機器進行了格式化,當我將所有Google Drive文件再次同步後,我意識到.git目錄不存在。

問題是我不記得我是否在本地沒有推送到github的一些不加標籤/無法完成的更改。

我一直在尋找,但我只找到了相反的問題答案(克隆無.git目錄)

我不想讓我的回購的git clone直到我確信,可能局部變化都不會虧。

有沒有克隆只有.git文件夾的任何方法,然後推我可能在我的機器上的任何本地更改?

回答

3

我解決了它。這是一個簡單的過程:

  1. 我克隆回購到不同的位置,如(在/tmp
  2. 我複製.git文件夾到我原來的回購文件夾
  3. 我在做我的git status原始回購文件夾和所有本地更改都在那裏。

希望它可以幫助別人

+1

這個方法唯一的問題是你沒有機會簽出特定的分支,而默認的克隆會檢出'master'分支,這不是你可能想要比較你的本地文件集針對 – g19fanatic

+0

由於您只需要.git文件夾而不是整個工作目錄,因此請確保使用--bare選項克隆它。 –

2
  1. 做一個git clone到不同的文件夾您的機器上,從您的在線回購
  2. 結帳,你想比較您的本地文件,對分公司。
  3. 然後將您的文件夾內容複製/粘貼到新克隆上。
  4. 檢查看看有什麼變化(如果有的話,並按照你的意圖提交)。
+0

其實我解決這個問題現在xD。我已經將repo克隆到了diiferent directoty並複製了'.git'目錄。一切都很好! – elbaulp

+0

我應該刪除我的問題還是回答我的問題? – elbaulp

+3

@ algui91:因爲有一個最新的答案,所以你不能刪除這個問題。您可以選擇張貼自己的自我回答,雖然在您將其標記爲已接受之前會有延遲(我認爲有幾天)。 OTOH,你說你做得非常符合這個答案的意思;你應該接受這個答案。 –

3

一步法的解決辦法是:

git clone --no-checkout <repo_url> 

,或者如果你已經有一個空目錄,

cd myrepo 
git clone --no-checkout <repo_url> . 
+0

或'git clone --no-checkout myrepo' =) –

+0

如果您的目錄不是空的,該怎麼辦? –

+0

如果你的目錄不是空的,git將不會執行克隆。但是,如果您想要目錄中的內容,只需克隆到一個空目錄,然後將您擁有的文件複製到克隆的目錄中即可。 – rfay