Итак, когда я git stash
, он упакует мои изменения со времени последнего фиксации в список, однако это их способ, который мне не нужно совершать, но все равно и сохранить незафиксированные изменения, или их любая другая команда git для этого?git stash, но сохраните что-то в тайнике вместо возврата к последнему совершенному изменению.
ответ
Вы с одной командой вы не можете. Но вы можете занести изменения, а затем применить их обратно, удерживая их в тайнике. Для получения дополнительной информации см. stash docs.
git stash
git stash apply
Если вы хотите, вы можете создать псевдоним в своем файле .gitconfig. Вы можете проверить, как создать псевдоним here.
[alias]
stash-save = !git stash && git stash apply
, в псевдониме можно передать необязательный флаг, который должен также делать «список закладок»? –
просто введите другую команду: stash-save =! Git stash && git stash apply && git stash list –
, если вы не хотите, вы должны создать скрипт, но затем создать сценарий stash-save.sh и поместите его на свой путь. –
Если у вас есть изменения, которые вы хотели бы, чтобы держать вокруг, но не нужно держать в стеке тайник, возможно, вы могли бы хранить их на отдельную тему отрасли.
Таким образом, процедура будет:
# do some work
# realize you want to go in another direction but keep your changes somewhere
git checkout -b topicName
git add .
git commit -m "useful description"
git checkout - # go back to previous branch
Затем, когда вы хотите, вы можете объединить или вишневые выбрать «спрятанные» Прочь изменения в этой теме ответвлении на ветку вы работаете ,
git merge topicName
Как правило, причина, по которой требуется, чтобы diff зависал как кошелек, а не как фиксация, заключается в том, что требуется временно интегрировать или реализовать функцию, ожидая члена команды, чтобы завершить параллельную работу. Вы хотите, чтобы это было как кошелек, потому что вы можете переключать ветви здесь и там; вы не хотите его на ветке, потому что уже работаете над веткой. И вы не хотите изменений в истории, потому что они эфемерны и предназначены для выброса. –
Непонятно, что вы хотите сделать. 'stash' [принимает грязное состояние вашего рабочего каталога, то есть ваши измененные отслеживаемые файлы и поэтапные изменения), и сохраняет его в стеке незавершенных изменений, которые вы можете повторно применить в любое время.] (https: // git-scm .com/book/ru/v1/Git-Tools-Stashing) –
Не забывайте, что вы можете назвать свой кошелек, чтобы легче получить его позже, с помощью 'git stash save 'thenameyouwant". Затем вы можете перечислить все ваши штампы с помощью 'git stash list' (он отобразит имя, если вы его дали) .. тогда вы можете« git stash apply »использовать stash, который вы хотите – arnaudbey