Простой рабочий процесс переключения веток Git - PullRequest
2 голосов
/ 10 сентября 2010

Я работаю над проектом с использованием Git. Сейчас я работаю над функцией в ветви и наткнулся на то, что мне нужно, чтобы увидеть какой-то код из чьей-либо ветви, чтобы напомнить себе, как работает написанная им функция (эти две ветви будут объединены, когда я закончу).

Я не хочу сейчас вносить свои изменения и делать git checkout его ветку ... затем переключиться обратно.

Как лучше решить эту проблему?

Ответы [ 2 ]

3 голосов
/ 10 сентября 2010

Инструмент для работы: git-stash .Запуск git stash в каталоге Git с измененными файлами откладывает ваши изменения, возвращая рабочий каталог в состояние HEAD (состояние clean ).Это позволяет оформить заказ в другой ветке, а также во многих других операциях.Когда вы закончите и вернетесь в эту ветку, запустите git stash pop, чтобы перенести изменения в хранилище обратно в рабочий каталог, вернув себя в то состояние, в котором вы находились, до того, как убрать изменения.

$ git branch
* develop-back
  develop-other
$ git stash
$ git checkout develop-other
$ ...
$ git co develop-back
$ git stash pop

Да, это прекрасно работает и очень удобно.Но помните, что вы не должны бояться изменений в Git.Фактически, git-stash делает именно это: где-то фиксирует ваши изменения.Фиксация в Git означает сохранение вашей работы , и в этом случае это именно то, что вы хотите сделать.Вы всегда можете сбросить-смешанный:

$ git commit -am 'stashing away for a moment'
$ git co develop-other
$ ...
$ git co develop-back
$ git reset HEAD~

Этот рабочий процесс эквивалентен сохранению, и вы можете видеть, что он не требует больше шагов.git stash - всего лишь «обертка» для этой процедуры с несколько более гуманным интерфейсом.

2 голосов
/ 10 сентября 2010

Звучит так, как будто вы хотите использовать git stash .

Первое выполнение git stash.Затем оформить заказ в другой ветке.Как только вы закончите смотреть, вернитесь в свою ветку и используйте git stash pop.

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