Jak se zmínil torek, pravděpodobně to nechcete dělat. Obecně není dobrý nápad sdílet úložiště mezi operačními systémy.
Je však možné, podobně jako je možné sdílet repo mezi Windows a Windows Subsystem pro Linux. Můžete zkusit nastavit core.checkStat
do minimal
, a pokud to nestačí, core.trustctime
až false
. To vede k minimálnímu množství informací uložených v indexu, což znamená, že data budou maximálně přenosná.
Všimněte si však, že pokud má vaše úložiště symbolické odkazy, je pravděpodobné, že nic, co uděláte, nezabrání obnovování. Linux obvykle považuje délku symbolického odkazu za délku v bajtech a Windows za to, že zabírá jeden nebo více diskových bloků, takže mezi operačními systémy dojde k nesouladu ve velikosti. Tomu se nelze vyhnout, protože velikost je jedním z atributů používaných v indexu, který nelze zakázat.
Zde máte úplnou pravdu:
-
Věc, kterou zde používáte a kterou Git různě nazývá index , předváděcí oblast nebo mezipaměť , ve skutečnosti obsahuje data mezipaměti.
-
Data mezipaměti, která obsahuje, jsou výsledkem systémových volání.
-
Data systémového volání vrácená systémem Linux jsou jiná z dat systémových volání vrácených systémem Windows.
Přepínač OS tedy zcela zruší platnost všech dat mezipaměti.
... jak mohu použít soubor indexu nastavení pro jiný systém?
Nejlepším řešením je nedělat to vůbec. Vytvořte dva různé pracovní stromy nebo možná dokonce dvě různá úložiště. Ale pokud je to bolestivější než tato jiná alternativa, vyzkoušejte tyto nápady:
Skutečný indexový soubor, který Git používá, je pouze výchozí .git/index
. Můžete zadat jiný soubor nastavením GIT_INDEX_FILE
na nějakou jinou (relativní nebo absolutní) cestu. Takže byste mohli mít .git/index-linux
a .git/index-windows
a nastavte GIT_INDEX_FILE
podle toho, který operační systém používáte.
Některé příkazy Git používají dočasný index. Dělají to nastavením GIT_INDEX_FILE
oni sami. Pokud ne -nastavte jej později, mohou omylem použít .git/index
v tomto bodě. Další možností je tedy přejmenování .git/index
z cesty při přepínání OS. Udržujte .git/index-windows
a .git/index-linux
jako dříve, ale přejmenujte to, co se používá, na .git/index
dokud se používá, pak jej přejmenujte na .git/index-name
před přepnutím na jiný systém.
Opět nedoporučuji zkoušet žádnou z těchto metod, ale pravděpodobně budou fungovat, víceméně.