2017-03-14 5 views
0

Ich bin ziemlich neu in der Verwendung von GIT zuvor mit TFS gearbeitet.GIT - Clone lokalen Zweig

Meine Frage ist: Ich muss ein paar lokale Zweige eines Projekts erstellen und zwischen ihnen hacken und wechseln (gelegentlich bis zu dem Punkt, beide Projekte auf einmal geöffnet zu haben). Um dies zu erreichen, habe ich lokale Zweige erstellt und dann in verschiedene Ordner geklont.

Bevor ich zu weit in die Entwicklung gehe, wollte ich nur überprüfen, dass dieser Ansatz keine Probleme verursachen wird, oder?

EDIT: Hinzufügen von mehr Details, um zu klären, wie ich arbeite.

Also, um zu klären, habe ich eine lokale Repositopy, die ich ein paar Mal verzweigt habe, habe ich dann diese Zweige geklont (was aus den Kommentaren bedeutet, dass ich neue Repositories für diese Zweige habe) Ich verstehe immer noch nicht warum Es wäre schwieriger, diese wieder in meinen lokalen Master zu integrieren. Das Folgende zeigt, was ich habe.

enter image description here

So, jetzt ist meine Frage, wenn dies schwieriger sein wird, mit zu arbeiten, in welcher Weise? Was sind die Fallstricke dafür? Welche Schritte muss ich durchführen, um diese Änderungen wieder mit dem Master zu verbinden?

Antwort

1

Eine andere Antwort für die raffinierte Frage bekanntgeben.

Wenn es schwieriger wird, auf diese Weise zu arbeiten? Was sind die Fallstricke dafür? Welche Schritte muss ich durchführen, um diese Änderungen wieder mit dem Master zu verbinden?

Wie ich die Kommentare zu meiner ersten Antwort erwähnt, jeder Klon ist ein separates Repository, sondern zeigt auf die gleiche Git URI, das heißt //[...]/project_1.git, das heißt, die miteinander verbunden sind nur über die remote.

das Diagramm oben Verwendung zu erklären,
Um den [local-Main] mit den Entwicklungen in [local-Bug Fixes] zu aktualisieren, gibt es nur zwei Möglichkeiten:

  1. über Befehlszeile:

    • push [local-Bug Fixes] zu remote: git push origin bug-fixes
    • offen zweite Instanz von PKS>cd auf [local-Main]
    • Update git Index von [local-Main]: git checkout master>git pull origin bug-fixes
  2. manuelles Update:

    • kopieren gesamten Inhalt [local-Bug Fixes]: Ctrl + A>Ctrl + C
    • offen neues Explorer-Fenster> navigieren zu [local-Main]> Inhalt überschreiben: Ctrl + A>Ctrl + V
    • Update Git-Index von [local-Ma in]: git add .>git commit
+0

Wenn ich im Voraus darüber nachgedacht hätte, hätte ich Option 2 - im Nachhinein wäre es viel einfacher gewesen! – 5NRF

0

geklont sie in verschiedenen Ordnern

zwei verschiedenen Ordnern Nachdem von einem in einen anderen schwer enthält Änderungen vornehmen, und fast die Verwendung von Git zunichte gemacht.

Having said that, ich folge dies selbst für einige meiner Rubin Workflow-Projekten

---- ---- EDIT

Demonstration:

Clone das Projekt in C:/Projects/repo und C:/Projects/repo_copy
Kasse zu einem neuen Zweig demo und eine Änderung vornehmen in ~repo/

Navigieren Sie in einem neuen Terminalfenster zu ~repo_copy/ und versuchen Sie, den in ~repo/ erstellten Zweig demoauszuchecken. Dies ist nicht möglich. Der Zweig demo existiert dort nicht.

+0

Wirklich? Inwiefern wäre es schwierig, wäre es nicht nur eine Fusion? – 5NRF

+0

sagen Klon1 ist in 'C:/Repo /' und Klon2 in 'C:/Repo_copy /' .. sie sind zwei verschiedene Repositories, obwohl sie auf die gleiche Git URI – ashmaroli

+0

aktualisierte Antwort mit einem Fall scenaio – ashmaroli

0

Für das Protokoll, es war ein wenig umständlicher als normal, aber nicht viel.

Der Prozess war: 1. Im geklonten Repo eines der Feature-Zweige alles übernehmen und dann in den Hauptrepo schieben. das bringt den Code aus dem geklonten Repo in den Hauptrepo im Feature-Zweig. 2. Fügen Sie den Feature-Zweig in den Master ein. 3. Konflikte zu lösen 4. Commit 5. Drücken

So werden andere als die anfängliche Schub aus dem geklonten Repo (und ein Alptraum von Konflikten) das Verfahren ist das nicht viel anders - obwohl ich mit dem oben zustimmen - ich würde vorschlagen, diesen Ansatz zu vermeiden (ich werde sicherlich sein)

Verwandte Themen