Ich benutze git
für Quellcode-Repository und den aktuellen Code in einem unordentlichen Zustand und möchte für ein wenig Arbeit zu anderen Zweigen wechseln. Das Problem ist, dass ich nicht nur die Hälfte der Arbeit verrichten möchte. Wie kann ich später auf diesen Punkt zurückkommen?Wechseln Sie den Zweig, ohne den Arbeitscode zu übergeben
Antwort
Sie haben zwei Möglichkeiten, dies zu tun.
Option 1: - Erstellen Sie den Patch für den Arbeitscode und Auschecken, dass der gesamte Arbeitscode dann in den anderen Zweig wechselt.
Option 2: - Sie können Ihre Zweige verstauen. Klicken Sie hier für weitere Details Beispiel: http://www.gitguys.com/topics/temporarily-stashing-your-work/
Können Sie nicht einfach ein anderes Verzeichnis erstellen und den gewünschten Zweig darin klonen?
Wenn Sie eine Laufzeitumgebung für die Verwendung eines bestimmten Verzeichnisses konfiguriert haben, stellen Sie eine Verknüpfung zu dem Zweigklonverzeichnis her, mit dem Sie gerade arbeiten. Auf diese Weise können Sie mehr als einen Zweig lokal einrichten, ohne Ihre lokalen Ressourcen neu zu mischen (nur ein einfaches Skript, um das von Ihrem Runtime/Server verwendete Verzeichnis neu zu verknüpfen).
Sie können Ihre Zweige verstauen. Hier ein Beispiel: http://www.gitguys.com/topics/temporarily-stashing-your-work/
Bitte geben Sie einen Code ein. Links sollte nur eine Ergänzung sein, um zu beantworten –
Vielleicht zuverlässiger Quelle dafür wäre https://git-scm.com/docs/git-stash – l0lander
Link scheint für mich tot. Ein weiterer interessanter Link zum Thema stashing: https://www.atlassian.com/git/tutorials/git-stash –
Sie können git stash
verwenden, um „zu verwerfen“ Änderungen für eine Weile und dann, wenn Sie Ihre vorherigen Änderungen verwenden wiederherstellen möchten git stash pop
*
Sie können auch (und sicherer) begehen Ihre WIP (Work In Progress) Arbeit, wechseln Sie zu einer anderen Niederlassung, machen Sie Ihre Arbeit, wechseln Sie zurück zum ursprünglichen Zweig, beenden Sie die ursprüngliche Arbeit und dann squash Ihre Commits in nur einem.
Denken Sie daran, dass Commit nicht gleich Pushing ist, also können Sie lokal eine unordentliche Geschichte haben, aber sobald Sie rebased und gequetscht werden, sehen Sie (und Ihr Team) nur die saubere Version.
* Pass auf, denn wenn du mehr als ein Mal versteckst, wird Git Pop nur den letzten Stash anzeigen. In diesem Fall müssen Sie git pop [email protected]{<revision>}
verwenden
Wenn Sie die neuere git (> = ver.2.5.0) haben, können Sie git worktree verwenden.
Mit dem folgenden Befehl können Sie einen temporären zu verwendenden Arbeitsbaum auschecken.
git worktree sourcetree_dir branch_name
hinzufügen Nachdem Sie Ihre Arbeit an diesem Zweig fertig sind, können Sie den folgenden Befehl verwenden, um es zu löschen.
git worktree Prune
über die Befehlszeile, kurze Antwort:
git stash
git checkout otherBranch
Wenn der Brach Ursprungs verwendet wird:
git checkout origin otherBranch
..
do your changes/commits
..
git stash apply
Mit git stash apply
bekommen Sie zurück Ihre vorherigen Änderungen. Sie könnten Zusammenführungskonflikte finden ... behoben und erneut Commit durchführen.
- 1. Wechseln Sie den aktuellen Zweig in git bare repository
- 2. git: Zweig wechseln und alle Änderungen ignorieren, ohne zu committen
- 3. Python Hol Docstring, ohne in den Interaktiven Modus zu wechseln
- 4. machen git Zweig den Master-Zweig
- 5. Zwischen den Formularen wechseln
- 6. Zwischen den Layouts wechseln
- 7. Ändern Sie den ursprünglichen Zweig für einen Feature-Zweig
- 8. zwischen Zweigen wechseln, den Stash bewahren?
- 9. lösche einen 'Feature'-Zweig mit gitflow, ohne in den Master-Zweig zu migrieren
- 10. Parameter an Vorlage übergeben, ohne den Datenkontext zu überschreiben
- 11. Daten an die Ansicht übergeben, ohne den Browser zu aktualisieren
- 12. jQuery - zwischen den Tasten wechseln
- 13. git: Dateien aus einem anderen Zweig in den aktuellen Zweig auschecken (HEAD nicht zum anderen Zweig wechseln)
- 14. Vermeiden Sie Typ Assertions in den Zweigen eines Typs wechseln
- 15. Wie ich meinen git-Zweig in den gleichen Zweig zerquetsche, ohne ihn umzubauen?
- 16. Jquery zwischen den Bildern wechseln
- 17. beste Möglichkeit, zwischen sicherer und unsicheren Verbindung zu wechseln, ohne den Benutzer zu stören
- 18. Verwenden der Git-Erweiterung Wie führe ich meinen Feature-Zweig in den Master-Zweig ein, ohne den Feature-Zweig zu ändern?
- 19. Wie übergeben Sie den Objekteigenschaftsnamen an drawImage?
- 20. Was ist der beste Weg, um den Seiteninhalt zu wechseln, ohne erneut zu laden?
- 21. Auf lokalen Zweig, nicht wollen, Änderungen zu bestätigen, müssen aber zu einem anderen Zweig wechseln
- 22. Git: kann nicht zu neuen Remote-Zweig wechseln
- 23. Git auf Windows: Kann den Zweig nach dem Umbenennen einer Datei nicht wechseln (nur geändert Fall)
- 24. Wie übergeben Sie den Verzeichnispfad als Befehlszeile für den Prozess?
- 25. Wie übergeben Sie den Parameter an den statischen Klassenkonstruktor?
- 26. IAudioSessionNotification, hat jemand Arbeitscode?
- 27. Übergeben Sie den Dateinamen an Programm
- 28. Wie übergeben Sie StateParams an den Winkelregler?
- 29. Übergeben Sie den Textwert zwischen zwei xml
- 30. PHP, html: Wie übergeben Sie den Button Wert zu Post
Link scheint für mich tot. Ein weiterer interessanter Link zum Thema Stashing: https://www.atlassian.com/git/tutorials/git-stash –