Ich habe ein Verzeichnis A mit Dateien, die mit Verzeichnis B übereinstimmen. Verzeichnis A kann weitere benötigte Dateien enthalten. Verzeichnis B ist ein Git-Repositorium.
Ich möchte das Verzeichnis B in das Verzeichnis A klonen, aber Git-Clone erlaubt mir das nicht, da das Verzeichnis nicht leer ist.
Ich hatte gehofft, es würde nur .git klonen und da alle Dateien übereinstimmen, könnte ich von dort aus gehen?
Ich kann nicht in ein leeres Verzeichnis klonen, weil ich Dateien im Verzeichnis A habe, die nicht im Verzeichnis B sind, und ich möchte sie behalten.
Das Kopieren von .git ist keine Option, da ich Refs zum Pushen/Pullen benötige und diese nicht manuell einrichten möchte.
Gibt es eine Möglichkeit, dies zu tun?
Update: Ich glaube, das funktioniert, kann jemand Probleme erkennen? -->
cd a
git clone --no-hardlinks --no-checkout ../b a.tmp
mv a.tmp/.git .
rm -rf a.tmp
git unstage # apparently git thinks all the files are deleted if you don't do this
1 Stimmen
Ich frage mich nur, was passieren würde, wenn '--no-checkout' weggelassen würde, außer dass der temporäre Klon mehr Speicherplatz und Zeit verbraucht. Wäre "git unstage" oder etwas anderes immer noch notwendig?
0 Stimmen
Vielleicht git-force-clone ?