Как я могу git stash конкретный файл? [дубликат]
Возможные Дубликаты:
как спрятать только один файл из нескольких файлов, которые изменились
как я могу спрятать конкретный файл, оставив другие в настоящее время измененные из тайника, который я собираюсь сохранить?
например, если git статус дает мне это:
younker % gst
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: app/controllers/cart_controller.php
# modified: app/views/cart/welcome.thtml
#
no changes added to commit (use "git add" and/or "git commit -a")
и я только хочу спрятать приложение / просмотры / корзину / добро пожаловать.thtml, как бы я это сделал? Что-то вроде (но конечно это не так работа):
git stash save welcome_cart app/views/cart/welcome.thtml
2 ответов:
EDIT: начиная с git 2.13, есть команда для сохранения определенного пути к тайнику:
git stash push <path>. Например:git stash push -m welcome_cart app/views/cart/welcome.thtml.ОТВЕТ:
вы можете сделать это с помощью
git stash --patch(илиgit stash -p) -- вы войдете в интерактивный режим, где вам будет представлен каждый кусок, который был изменен. Используйтеnчтобы пропустить файлы, которые вы не хотите прятать,yкогда вы сталкиваетесь с тем, что вы хотите спрятать, иqчтобы выйти и оставить оставшиеся куски нераскрыты.aбудет прятать показанный кусок и остальные куски в этом файле.не самый удобный подход, но он получает работу, если вам это действительно нужно.
Я обычно добавляю изменения индекса, которые я не хочу прятать, а затем прятать с помощью опции --keep-index.
git add app/controllers/cart_controller.php git stash --keep-index git resetпоследний шаг является необязательным, но обычно вы этого хотите. Он удаляет изменения из индекса.
предупреждение Как отмечается в комментариях, это помещает все в тайник, как постановочный, так и неустановленный. --Keep-index просто оставляет индекс в покое после того, как тайник сделан. Это может вызвать конфликты слияния, когда вы позже поп тайник.
Comments