2016-05-03 10 views
-1

Wie "nenne ich" git-Ordner?Wie erniere ich Ordner mit Gittern?

Ich habe eine Komponente, die in GitLab hochgeladen wurde. Ich möchte einen Teil dieses Codes in ein brandneues GitLab Repo einbinden.

Wenn ich einen/code/Ordner in ein neues Git Repo einfüge, sagt es mir, dass der Ordner in einem Zustand ist. Ich verwende SmartGit, wo es scheint, ein Bündel für die Dateien statt einzelner Ordner & Dateien anzuzeigen.

Wenn ich versuche, es mit SmartGit in GitLab hinzuzufügen, möchte ich ein Sub-Modul zu meiner ursprünglichen Komponente erstellen, die auch in GitLab ist. Ich will es nicht wirklich zwischen dem aktuellen /cleanRepo/ und irgendeinem /existingRepo/ verbinden. Ich weiß, dass SVN viele versteckte .properties-Dateien hatte. Git scheint das auch zu haben. Also muss ich wahrscheinlich alle Git-Informationen des vorherigen Repos vergessen lassen.

Hintergrundgeschichte/Grund: Ich möchte den Code einer fertigen Komponente in all meinen brandneuen Komponenten, die ich in Zukunft bauen möchte, wiederverwenden. Ich möchte nicht kopieren & fügen Sie eine vollständig gebaute Komponente Code in einen neuen Ordner, wenn ich ein neues Repository klonen & möchte eine neue Komponente erstellen. Ich möchte nicht jedes Mal löschen müssen, was nicht in dieser neuen Komponente enthalten sein sollte, wenn ich eine neue Komponente erstelle. Daher möchte ich ein sauberes Repository mit einer Masterkopie des Startcodes erstellen. Nehmen wir an, es enthält 1/3 eines vollständig integrierten Komponentencodes. Ich werde diesen Clean/Master-Code-Ordner in jeden neuen Git-Repository-Ordner kopieren. Dann gehe ich in den Ordner meiner neuen Komponente, um den kopierten Code in diesem Ordner zu erweitern. Dies würde einen netten sauberen Ausstecher Ansatz zum Aufbau neuer Komponenten machen, wo ich vermeiden kann, eine Fülle von Dateien zu löschen & Bearbeitung mehrerer Dateien, um große Teile des Codes zu löschen.

Ideal Beispiel:

cd /cleanRepo/code/ 
cp -R ./* ~/someNewFolder 
cd ~/someNewFolder 
     ^-- start editing that code, but don't edit any /cleanRepo/code/ 

Gibt es eine einfache Möglichkeit, "UNNEST" git Ordner? Ich möchte eine Liste von Ordnern & Dateien sehen, die ich gerne hinzufügen würde. Kein "Nested Root" -Bündel.

Antwort

0

Ja, es gibt eine einfache Möglichkeit, dies zu tun! Ich habe es gerade nach meiner zweiten Tasse Kaffee herausgefunden. Mit diesen Befehlen können alle Dateien in SmartGit als nicht abgerollte Liste von Dateien angezeigt werden. Sie können dann einzeln eingebunden werden, anstatt als Nested Root Submodul gebündelt zu werden.

cd /cleanRepo/code/ 
ls -a 
rm -rf .git* 
find . -exec touch {} \; 

Also wenn jemand anderes in dieses Problem hineinläuft, ist das, wie man es löst.

Btw, ls -a mit zeigt diese Liste von versteckten Dateien:

. 
.. 
.editorconfig 
.eslintignore 
.eslintrc 
.git 
.gitattributes 
.gitignore 
.gitlab-ci.yml 
.npmignore 

einfach sicher, dass Sie nicht rm -rf *.* verwenden Sie da sie gewaltsam & lautlos alles löschen!

Es gibt eine Sache, die ich über die Dateien bemerkt habe. In einigen Ordnern hatte ich in ihnen zu gehen & folgendes tun, die Unterordner in SmartGit erscheinen zu bekommen:

cd /subfolder/ 
touch abc 
rm abc 

, dass die Dateien mit Unterordnern als einzelne Dateien angezeigt werden können.

Ich habe eine Möglichkeit hinzugefügt, das Unterverzeichnis & Prozess zu automatisieren, ohne ein Skript dafür schreiben zu müssen. Es ist die find . -exec touch {} \; Zeile oben. Wenn das für Sie nicht funktioniert, dann gehen Sie in einen Unterordner, berühren Sie eine Datei (oder erstellen Sie eine neue + löschen Sie sie) & dann werden die Dateien angezeigt!

Verwandte Themen