Wie können Sie nicht festgeschriebene Änderungen an einem Zweigstellentest vornehmen, wenn ich in der Zweigstelle bin master
?
Wie können Sie nicht festgeschriebene Änderungen an einem Zweigstellentest vornehmen, wenn ich in der Zweigstelle bin master
?
Antworten:
Sie können einfach zum Testzweig auschecken und dann festschreiben. Sie verlieren Ihre nicht festgeschriebenen Änderungen nicht, wenn Sie in einen anderen Zweig wechseln.
Angenommen, Sie befinden sich in der Hauptniederlassung:
git checkout test
git add .
git add deletedFile1
git add deletedFile2
...
git commit -m "My Custom Message"
Ich bin mir über die gelöschten Dateien nicht sicher, aber ich denke, sie sind nicht enthalten, wenn Sie sie verwenden git add .
Sie können auch einen neuen Zweig erstellen und zu diesem wechseln, indem Sie Folgendes tun:
git checkout -b new_branch
git add .
Ich benutze dies die ganze Zeit, weil ich immer vergesse, einen neuen Zweig zu starten, bevor ich mit der Bearbeitung von Code beginne.
Warum nicht einfach Git Stash verwenden? Ich denke, es ist intuitiver wie das Kopieren und Einfügen.
$ git branch
develop
* master
feature1
TEST
$
Sie haben einige Dateien in Ihrem aktuellen Zweig, die Sie verschieben möchten.
$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: awesome.py
#
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
#
# modified: linez.py
#
$
$ git stash
Saved working directory and index state \
"WIP on master: 934beef added the index file"
HEAD is now at 934beef added the index file
(To restore them type "git stash apply")
$
$ git status
# On branch master
nothing to commit (working directory clean)
$
$
$ git stash list
stash@{0}: WIP on master: 934beef ...great changes
$
Wechseln Sie zum anderen Zweig.
$ git checkout TEST
Und bewerben
$ git stash apply
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
#
# modified: awesome.py
# modified: linez.py
#
Ich mag es auch, git stash
weil ich benutze git flow
, was sich beschwert, wenn Sie einen Feature-Zweig beenden möchten, während sich noch Änderungen in Ihrem Arbeitsverzeichnis befinden.
Genau wie bei @Mike Bethany passiert mir das die ganze Zeit, weil ich an einem neuen Problem arbeite und vergesse, dass ich mich noch in einem anderen Zweig befinde. So können Sie Ihre Arbeit verstauengit flow feature finish...
und git stash apply
in einen neuen git flow feature start ...
Zweig wechseln .
git stash
ist meine bevorzugte Art, mit nicht festgeschriebenen Änderungen umzugehen. Es ist sicherlich eine intuitive Methode, wenn Sie es als Ausschneiden und Einfügen betrachten.
git stash --include-untracked