2010-09-10 2 views
2

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

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

Что такое лучший способ справиться с этой проблемой?

ответ

3

Инструмент для работы git-stash. Запуск git stash в каталоге Git с измененными файлами отменит ваши изменения, вернув рабочий каталог в состояние HEAD (a clean state). Это позволяет вам проверять другую ветку, а также многие другие операции. Когда вы закончите и вернетесь в эту ветку, запустите 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 делает именно это: где-то фиксируйте свои изменения. Committing in Git означает , сохраняя вашу работу, и в этом случае именно это вы хотите сделать. Вы всегда можете выполнить сброс:

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

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

2

Похоже, вы хотите использовать git stash.

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