Почему нет уникального уникального символа git для каждой ветки?
Я предполагаю, что он позволяет перемещать изменения из одной ветки в другую, но то, что требуется для сбора вишни, и если вы не совершаете фиксацию своих изменений, возможно, вам не следует их перемещать?
Я иногда применял неправильный тайник в неправильной ветке, что заставило меня задуматься над этим вопросом.
Ответы
Ответ 1
Как уже упоминалось, если вы хотите "привязать к ветки", вы действительно хотите, чтобы новая ветка отменилась от существующей ветки.
Кроме того, помимо уже упомянутого факта, что stash позволяет вам втягивать в ветку, на которой вы работаете, она также позволяет вам переключаться между ветвями, прежде чем вы все это совершите. Это полезно не для сбора вишни в обычном смысле так же, как для вишневой подбор вашей рабочей копии.
F.ex., работая над ветвью признаков, я часто замечаю незначительные ошибки или косметические примеси в коде, который подходит для этой ветки. Ну, я сразу исправлю их. Когда приходит время совершить, я выборочно фиксирую соответствующие изменения, но не исправления и косметику. Вместо этого я сохраняю те, которые позволяют мне переключиться на мою небольшую-исправление на стабильной ветке, где я могу применить тайник и зафиксировать каждое небольшое исправление отдельно. (В зависимости от изменений, о которых идет речь, я еще раз задержу некоторые из них, чтобы переключиться на другую ветвь функции, где я их применяю.)
Это позволяет мне углубляться в режим программирования, когда я работаю, и не беспокоиться о правильном библиотечном деле моего кода. Затем, когда я умру, я могу вернуться и тщательно сортировать свои изменения на все нужные полки.
Если этот штамп не был глобальным, этот тип рабочего процесса будет намного сложнее сделать.
Ответ 2
если вы хотите, чтобы "stash", который запускался с ветки, сделал что-то вроде этого, чтобы сохранить ваши изменения в новой ветке от вашей текущей ветки.
git checkout -b new_stash
git commit -a -m "stashed changes"
чтобы отменить сохранение
git reset HEAD^
git branch -d new_stash
git stash особенно полезен, потому что вы можете вносить изменения в грязное дерево, т.е. если у вас есть замечательные изменения и вы хотите сделать
git pull
и вы не можете, вы можете спрятать свои изменения, потянуть, а затем применить кэш
git stash
git pull
git stash apply
git stash clear
надеюсь, что это помогло!
Ответ 3
Как и в случае с Git 1.6, вы можете применить привязки к ветвям, используя
git stash branch name_of_new_branch
Git создаст для вас новую ветку и проверит ее! Для получения дополнительной информации см.
Я предполагаю, что вы можете перемещать тиски вокруг, используя
git stash branch <branch | new_branch> [<stash>]
и чтобы увидеть список ваших штампов, используйте
git stash list
Ссылка
Ответ 4
git -stash наиболее полезен для меня, чтобы переместить еще не проверенные изменения в другую ветку, чем те, которые в настоящее время выведены.
Например, я часто делаю простые изменения в ветке исправлений ошибок; только чтобы найти, что изменение, над которым я работаю, более сложное, чем я раньше догадывался. Git -stash - это самый простой способ переместить этот набор изменений в другую ветку.