2013-10-27 2 views
11

Нужна помощь в том, как я могу откладывать неустановленные изменения в репозитории Git с помощью Visual Studio 2013. Я пришел из PHPStorm, где вы можете откладывать неизменные изменения на одной ветке, переключиться на другую и отключить.Visual Studio 2013, Git and Shelving

Однако я не могу найти/посмотреть, как это можно сделать в Visual Studio. Может ли кто-то пролить свет на эту проблему?

Чтобы уточнить, почему это может понадобиться: я мог бы работать с веткой X, а затем считать, что я не тот филиал, и я должен быть на ветке Y. Мне нужно отложить все изменения с ветки X, переключиться на ветвь Y, unhelve изменяет, а затем фиксирует.

Спасибо.

ответ

5

В git концепция, которую вы ищете, является stash. Вы добавляете свои изменения так, как будто вы собираетесь их совершить, и затем их сбрасываете git stash. После смены ветвей вы можете git stash apply или git stash pop (при этом бывший покидает прикрытие для повторного использования).

Я знаком с концепцией shelf от Perforce, которая имеет полезное отличие от приставки Git - где вы можете отправить полку на сервер и поделиться ею с другими людьми, вы не можете сделать это с помощью git. Тем не менее, с помощью git вы можете просто создать ветку с помощью stash и нажать ее на сервер, что позволит другим объединить ее там, где это необходимо.

Корпорация Майкрософт не предоставляет способ использования этой функции.

+0

Есть ли какой-то способ сделать это с помощью Git Provider плагин от Microsoft? – teh0wner

+0

Извините, я не знаком с этим плагином. Я использую git из командной строки и через SourceTree (в OS X, но есть версия Win). Я бы предложил посмотреть в том же месте, где вы можете совершить сделку и искать там вариант с приставкой. – mah

+9

По-моему, это не отвечает на вопрос ОП, на который я бы перефразировал: «Как сделать« git stash »в VS 2013 IDE». Я также ищу его, но пришел к выводу, что он не поддерживается (по крайней мере, с обновлением VS 2013). Я также нашел, что вы можете проголосовать за него [здесь] (https://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/4576531-provide-stash-support-in-visual-studio-tools- for-g) Вы можете использовать этот [руководство] (http://blog.jessehouwing.nl/2013/11/use-git-directly-from-visual-studio.html), чтобы настроить консоль диспетчера пакетов, чтобы вести себя как git командной строки. – eXavier

9

Visual Studio 2013 Update 2 не поддерживает стеллажи (называемые stashing in git) для репозиториев git, но вы можете использовать сторонние инструменты в самом хранилище (я использую SourceTree).

+0

То, что вы можете использовать git-инструменты для репозиториев git, не является информативным. Достаточно сказать, что, несмотря на практически неограниченные ресурсы, Microsoft необъяснимо дает вам обедненный интерфейс git. Я не могу понять, какие технические трудности могут помешать этому, и подозревать, что их нет. –

+5

Как неинформативно указать кому-то инструменты, которые они, возможно, не рассмотрели? Просто потому, что вы сердитесь на Microsoft, это не значит, что мой ответ неверен. – thelem

+0

Я согласен с тобой @thelem – Casey

1

Возможно, я поздно пришла к этому.

Я использую TortoiseGit для этого ... Он работает очень хорошо и может работать вместе с Visual Studio, поскольку это просто плагин для исследователя.

https://tortoisegit.org/

+0

Это решение выбора для стирания GUI. – Robino