2010-10-15 2 views
5

Я бегу msysgit 1.7.3.1. Если я использую stash apply, и есть конфликт, то все мои изменения в чарте будут поставлены. Это правильное поведение? Я нашел это немного удивительным.git stash вопросы

Другой вопрос: если я припрятал 10 файлов, и есть конфликт в одном из им, будет копить применять прерывание, когда возникает конфликт, или он будет применять все без конфликтующих файлов.

Наконец, если я делаю следующее:

git stash 
git pull 
git stash apply 

и другой разработчик удалил файл, который я спрятал, то я не могу применить заначку на этот файл. Как я могу получить мои изменения из кошелька?

Спасибо!

+0

Ссылка на тех, кто интересуется: http://article.gmane.org/gmane.comp.version-control.git/159136 – alternative

ответ

6

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

re 10 файлов. Stash добавит оставшиеся 9 к индексу. Исправьте конфликт в оставшемся файле. Добавьте его в индекс. Затем зафиксируйте.

Изменения, которые отсутствуют. Вы можете получить свой файл, выполнив git checkout (stash-SHA1 или другую ссылку на него>) - спецификация файлов

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

надеюсь, что это помогает

+2

ОК, я понимаю. Индекс используется для отслеживания файлов, у которых нет конфликтов. Тем не менее, мой рабочий процесс, как правило, выглядит следующим образом: – Jacko

+3

мой рабочий процесс, как правило, выглядит следующим образом: 1) работая над чем-то, поэтому рабочий каталог грязный. 2) хотите вытащить чьи-то изменения. 3) задернуть 4) потянуть 5) применить кэш 6 продолжить работу. Я обычно не готов к фиксации после приклада, поэтому, если у меня установлены мои файлы stash, это неожиданно. – Jacko

+1

И спасибо за объяснение, кстати. – Jacko

Смежные вопросы