Я очень незнаком с shelve
аспектом Git. Если stash
используется, чтобы отложить незаконченную работу, что shelve
тогда? Что бы вы использовали для этого?
Например, в обновлении проекта (из меню VCS)
один получит (в идее 2019.2)
git
intellij-idea
jetbrains-ide
Эдгар Мартинес
источник
источник
shelve
это не команда git. Каков контекст этого вопроса, откуда берутся эти термины?shelve
существует в некоторых других инструментах, но это не часть git.shelve
bzr, hg и т. Д. Вы имеете в виду какой-то пакет взаимодействия git?Ответы:
git shelve
не существует в Git.Только
git stash
:У вас был старый проект git shelve 2008 года, чтобы изолировать изменения в ветке, но в наше время это было бы не очень полезно.
Как описано в диалоговом окне полки Intellij IDEA , функция « откладывание и откладывание » связана не с VCS (инструментом системы управления версиями ), а с самой IDE, чтобы временно хранить ожидающие изменения, которые вы еще не зафиксировали в списке изменений.
Обратите внимание, что начиная с Git 2.13 (Q2 2017), вы теперь можете также хранить отдельные файлы .
источник
git stash && <your actual command> && git stash pop
но это отстой. Авто-полка и применение ближе к тому, что нам нужно.При использовании интегрированной среды разработки JetBrains с Git, «сохранение и снятие с хранения» поддерживается в дополнение к полочкам и небрежному хранению. Эти функции имеют много общего; основное различие заключается в способе создания и применения исправлений. Полка может работать как с отдельными файлами, так и с группой. файлов, в то время как Stash может работать только с целой кучей измененных файлов одновременно. Вот еще некоторые подробности о различиях между ними. "
источник
git stash -p
что превосходит оба. К сожалению только в командной строке.В дополнение к предыдущим ответам есть одна важная для меня заметка:
shelve
это JetBrains продукты функция (напримерWebStorm
,PhpStorm
,PyCharm
и т.д.). Это помещает отложенные файлы в.idea/shelf
каталог.stash
это один изgit
вариантов. Это помещает спрятанные файлы в.git
каталог.источник
Я предпочел бы отложить изменения вместо того, чтобы хранить их, если я не делюсь своими изменениями в другом месте.
Копирование - это git-функция, которая не дает вам возможности выбирать определенные файлы или изменения внутри файла. Стеллажи могут сделать это, но это специфичная для IDE функция, а не функция git:
Как вы видите, я могу указать, какие файлы / строки включить на мою полку. Обратите внимание, что я не могу сделать это с тайником.
Осторожно, использование полок в IDE может ограничить переносимость ваших исправлений, поскольку эти изменения не сохраняются в папке .git.
Некоторые полезные ссылки:
источник