Gute Idee, mein persönliches Git-Repo aufzuteilen?


1

Ich habe viele Dateien in meinem Home-Verzeichnis unter der Versionskontrolle von Git.

Mein Emacs-Setup, zsh-Quelldateien, Doktorarbeit usw.

Es ist alles in einem riesigen Git-Repo im Stammverzeichnis des Home-Verzeichnisses. (Natürlich befinden sich die Dateien selbst in vielen verschiedenen Verzeichnissen.)

Ich denke darüber nach filter-branch, das Repo aufzuteilen, damit meine Abschlussarbeiten nicht mit meinen Abschlussarbeiten verschmutzt .emacswerden.

Ist das im Allgemeinen eine gute Idee? Ich möchte keine Geschichte verlieren.

Muss ich meine .gitconfigDatei in jedes Verzeichnis kopieren , das ein Repo erhält?

Und wenn ich versehentlich zuvor git add foo.txtin einem Verzeichnis war git init, wird es dann in den ersten Repo-Git-Funden gespeichert, während es durch meinen Verzeichnisbaum wandert? Oder kann dies verhindert werden?

Antworten:


0

Wenn Sie Ihr Repository in mehrere neue Repositorys aufteilen möchten, können Sie es nicht verwenden filter-branch, da es im Grunde genommen ein leistungsstarkes rebaseRepository ist, das in einem einzigen Repository funktioniert.

Sie können nicht mehrere Repositorys haben und trotzdem den Verlauf beibehalten, da der Verlauf aus Commits besteht, die alle versionierten Dateien in Ihrem ursprünglichen Repository berühren. Ich fürchte, Sie haben keine andere Wahl, als die verschiedenen Repositorys von Grund auf neu zu starten. Sie können natürlich das Original archivieren, falls Sie es jemals einsehen müssen.

Ich würde definitiv vermeiden, irgendwo in einem Arbeitsverzeichnis ein Git-Repository zu erstellen, dh git initin einem Verzeichnis, das bereits in Git versioniert ist. Dies ist zwar möglich, erfordert jedoch äußerste Vorsicht bei den Parametern --git-dirund / oder --work-tree. Verschieben Sie stattdessen das $HOME/.gitVerzeichnis in ein anderes Verzeichnis, das nicht versioniert wird, bevor Sie mehrere Repositorys in verschiedenen Verzeichnissen erstellen .

Die .gitconfigDatei ist Ihre benutzerspezifische Git-Konfigurationsdatei . Standardmäßig lebt es in Ihrem $HOME. Da Ihr Home - Verzeichnis ist das Arbeitsverzeichnis, haben Sie wahrscheinlich benötigt man eine solche Datei in jedem Arbeitsverzeichnis, aber sie tun es nicht. Die Konfigurationsdatei pro Repository lautet .git/config.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.