2017-03-06 5 views
0

Ich bin relativ neu zu git und ich muss das folgende tun.Bewegliches Modul von einem Repo zum anderen

  1. ein Modul gegeben, X, A in Repo, ich will bewegen, X, B
  2. Ich muss dies tun, warum Repo, während die Geschichte bestimmter Autoren erhalten. d. h. das Festschreiben der Festschreibungshistorie von "Joe" und "Bob" beibehalten und sonst nichts bemerken.

Irgendwelche Ideen, wie ich das tun kann?

Danke !.

+1

Mögliches Duplikat von [git: Anwenden von Änderungen, die durch Commit in einem Repo auf ein anderes Repo eingeführt wurden] (http://stackoverflow.com/questions/3816040/git-apply-changes-introduced-by-commit-in-one- Repo zu einem anderen Repo) –

+0

Sie definieren hier nicht "Modul" und das wird wahrscheinlich wichtig sein.Beachten Sie, dass in Git die Geschichte * das Commit ist. Die beiden sind untrennbar miteinander verbunden. Jedes Commit ist ein Snapshot; Geschichte wird durch das Spielen der Schnappschüsse im Laufe der Zeit gebildet. – torek

+0

Mögliches Duplikat des Unterverzeichnisses [Detach (move) in ein separates Git-Repository] (http://stackoverflow.com/questions/359424/detach-move-subdirectory-into-separate-git-repository) – Joe

Antwort

0

Man könnte so etwas tun:

Zum einen fügen lokal

git remote add repoa https://github.com/user/repoa.git 

tun 'ein Repo' Dann ein git push zu diesem Repo

git push repoa 

Likewis EADD 'Repo-b' lokal

git remote add repob https://github.com/user/repob.git 

dann eine git push zu diesem Repo

git push repob 

Dadurch wird der aktuelle Zustand des gesamten Repository drücken.

Jetzt klonen die Repositories getrennt:

cd /path/where/you/want/new/repos/to/be 
git clone https://github.com/user/repoa.git repoa 
git clone https://github.com/user/repob.git repob 

(wo repoa als die zweite param ist das Verzeichnis, das Sie in klonen möchten)

und für jeden Lauf git rm -r mit den Verzeichnissen/Dateien, die Sie möchten, entfernen von diesem repo, beispielsweise für repo-a:

git rm -r src/repob docs/repob 

Wiederholen der oben wieder repo-b.

dann für jedes Repository den folgenden Befehl ausführen, um die Löschungen auf die Bühne begehen:

git add -u 

Dann wird eine machen begehen, wie Sie normalerweise tun würde:

git commit -m "Deleted files from repo b" 

Dann

git push origin 
drücken

Wiederholen Sie die letzten 3 Befehle erneut für Repo-b.

Dies wird zwei separate Repositories mit dem vollständigen Verlauf aller Dateien innerhalb des Repo erstellen, leider kenne ich keine Möglichkeit, den Verlauf von 'nur die Dateien in diesem Repo' zu behalten.

Verwandte Themen