Git workflow для внезапной высокоприоритетной задачи - PullRequest
2 голосов
/ 27 февраля 2012

Я работаю над веткой объектов со смесью поэтапных и неустановленных изменений. Приходит высокоприоритетное задание. Что мне делать?

Похоже, git checkout не касается поэтапных и неустановленных изменений. Так что я должен:

git add -A
git commit -am "must stop working to fix bug!"
git checkout master
git checkout -b "bug_branch"

Ответы [ 4 ]

7 голосов
/ 27 февраля 2012

Вы можете временно передать свою работу в тайник с помощью git stash save, исправить ошибку или выполнить любую высокоприоритетную задачу, которую вам нужно сделать, затем применить тайник обратно с помощью git stash apply и продолжить работу.

http://book.git -scm.com / 4_stashing.html

2 голосов
/ 27 февраля 2012

да, вы можете сделать это, или вместо этого git commit, вы можете сделать также git stash :) Затем, как только вы закончите с исправлением ошибки, вы можете вернуться в свое состояние через git stash apply

http://gitready.com/beginner/2009/01/10/stashing-your-changes.html

1 голос
/ 27 февраля 2012

Удивительная вещь в git - это возможность предоставить вам несколько способов достижения цели, позволяя вам адаптировать git к вашему рабочему процессу, а не адаптировать свой собственный рабочий процесс к git.

Существует несколько способовдля этого, например:

Сохраните ваши изменения, затем переключитесь на ветку ошибок, а затем примените тайник, когда вы закончите с исправлением ошибки.

Передайте изменения локально, переключитесь наВетка ошибок исправляет ошибку, затем исправляет вашу локальную историю коммитов с помощью git rebase -i

Зафиксируйте ваши текущие изменения в новой локальной ветке, переключитесь на ветку ошибок, исправьте ошибку, затем объедините ваши изменения из локальнойвременная ветвь назад к вашей ветке функций.

0 голосов
/ 27 февраля 2012

git stash твой друг.Предполагая, что вы находитесь в ветке bug_fix

git stash save "must stop working to fix bug!"
git checkout master
.. do some stuff
git commit -am 'foo'
git checkout bug_fix
git stash pop

Обратите внимание, что "git stash pop" восстанавливает сохраненные изменения, чего вы и хотите больше всего.Если вы хотите применить изменения в хранилище и сохранить их в хранилище, используйте git stash apply.Это полезно, если вы хотите применить свой тайник к нескольким веткам:

git checkout branch1
git stash apply
git checkout branch2
git stash apply
git checkout branch3
git stash apply

и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...