2014-06-08 72 views
1

我是git的新手,並嘗試將它與包含許多(幾百個)源的項目一起使用。 我遇到的問題是,git在結帳時將所有項目的源代碼提取到我的工作目錄。這使得很多混亂,因爲我不得不在文件之間跳轉,並可能無意中更改/損壞的文件,我甚至不打算改變。我寧願只提取我要修改的資源,然後使用它們。 那麼,有沒有辦法告訴git我只會使用特定的源代碼,所以只有這些源代碼纔會被提取到工作目錄中? 請注意,這不是一個部分結帳或類似的東西。我可以結賬整個分支。這更多的是組織一個工作文件夾。 謝謝。git - 有沒有辦法在工作目錄中只獲取所需的文件

+1

這個不清楚;你只想「提取」某些來源,但你不想要部分結賬?這裏有什麼區別? –

+0

這意味着我想在提交中擁有整套源代碼。 – spoonboy

+2

此外,一種解決方案是不修改任何不想修改的文件。即使你(意外地)做,只要使用'git status'來查看你已經完成了什麼,然後使用'git checkout'來恢復意外的更改。 –

回答

2

如果你的相關人士都在一個特定的子文件夾,你可以做一個sparse checkout,爲了只檢出特定的子文件夾的內容(你會在.git/info/sparse-checkout文件中聲明,因爲我mention here)。

如果沒有,那麼你需要將它們移動到文件夾(重組),或者甚至它們隔離到自己的回購協議(並將其添加到主回購爲submodule


另一種選擇是使用支持基於任務的上下文過濾的IDE。
例如Eclipse Mylyn,我在「Eclipse - easy access to frequently used folders?」中提到。
Mylyn的是task-focused interface使用context

http://i.stack.imgur.com/A7Wnl.png

這也許不是你的堆棧的一部分,但它說明了如何讓「有關更改僅幾個文件的這個問題,我在我的工作做文件夾「可以解決。

+0

不幸的是,他們不是。看到我上面的評論。 – spoonboy

+0

@spoonboy我已經添加了一個替代方案,但不會有任何魔法解決方案。 Git作爲一個整體來管理內容。 – VonC

+0

好的,謝謝,我認爲答案是否定的,只是好奇,mercurial是否支持這種提取? – spoonboy

相關問題