2016-01-19 6 views
0

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

Иногда мы хотим сохранить изменение кода на ветке01 перед переходом на branch02.

И в следующий час мы можем переключиться на ветвь01, в этом случае мы также хотим сохранить работу с веткой02, прежде чем переключиться на ветвь01.

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

Мы пробовали git stash, но это не работает, как я ожидал в этом случае.

Мы также не хотим делать git commit до перехода на другую ветку, потому что работа еще не выполнена.

Мне интересно узнать, что Git-процесс должен использоваться для решения подобных ситуаций.

Спасибо!

+1

Что именно не работает о 'мерзавца stash'? – merlin2011

+2

Почему местные коммиты не работают на вас? – Szymon

+0

@Szymon, это работает, но по какой-то причине нам рекомендуется совершать однократное количество ошибок, так что людям проще просматривать код. – morven

ответ

1

Я нахожусь в такой же ситуации, как вы довольно часто. То, как я подхожу, - это моя работа перед переключением ветвей. Коммиты являются локальными, поэтому они не будут наносить вред кому-либо, пока они не будут нажаты.

Когда я вернусь к исходной ветке, чтобы продолжить работу, которую я совершил на ранней стадии, я просто делаю то, что мне нужно сделать, и когда придет время для добавления новых изменений, я исправляю фиксацию, чтобы сохранить все изменения в одном коммите:

git commit --amend 

Это сохраняет историю чистой и вы нажимаете только одну фиксацию со всеми вашими изменениями.

Подробнее о внесении поправок, например, here.

0

Для вас может переключить отрасли нужно зафиксировать изменения, Git не сохранить изменения, которые не совершали, вы можете найти это в книге progit

0

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

Вы также можете сохранить сообщение для тайника с помощью:

git stash save <message> 
Смежные вопросы