2013-10-27 1 views
11

Ho bisogno di aiuto su come posso accantonare modifiche non modificate in un repository Git utilizzando Visual Studio 2013. Vengo da PHPStorm in cui puoi accantonare modifiche non modificate su un ramo, passare a un altro e unshelve.Visual Studio 2013, Git and Shelving

Tuttavia, non riesco a trovare/vedere come ciò può essere fatto in Visual Studio. Qualcuno potrebbe far luce su questo problema?

Giusto per chiarire perché questo potrebbe essere necessario: potrei lavorare sul ramo X, e quindi capire che io sono il ramo sbagliato e dovrei essere sul ramo Y. Devo accantonare tutti i cambiamenti dal ramo X, passare a ramo Y, non modificare le modifiche e quindi eseguire il commit.

Grazie.

risposta

5

In git il concetto che stai cercando è stash. Aggiungete le modifiche come se doveste commetterle e quindi le mettete in ordine con git stash. Dopo aver cambiato rami, è possibile git stash apply o git stash pop (con il primo che lascia lo stash disponibile per il riutilizzo).

Ho familiarità con il concetto shelf di Perforce, che presenta un'utile differenza dalla memoria di Git - dove è possibile inviare uno scaffale al server e condividerlo con altre persone, non è possibile farlo con git. Tuttavia, con git puoi semplicemente creare un ramo con lo stash e inviarlo al server, consentendo ad altri di unirlo dove è necessario.

Microsoft non fornisce un modo per utilizzare questa funzionalità.

+0

C'è una sorta di modo per farlo utilizzando plug-in Provider Git di Microsoft? – teh0wner

+0

Scusa, non ho familiarità con quel plugin. Io uso git dalla riga di comando e attraverso il programma SourceTree (su OS X, ma esiste una versione Win). Suggerirei di cercare nello stesso posto in cui è possibile eseguire il commit e cercare un'opzione di scorta. – mah

+9

A mio parere questo non risponde alla domanda OP, che vorrei riformulare in: "Come fare' git stash' in VS 2013 IDE ". Lo sto anche cercando ma sono giunto alla conclusione che non è supportato (almeno con VS 2013 Update 2). Ho trovato anche che puoi votare per questo [qui] (https://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/4576531-provide-stash-support-in-visual-studio-tools- per-g) È possibile utilizzare questa [guida] (http://blog.jessehouwing.nl/2013/11/use-git-directly-from-visual-studio.html) per impostare la Console di gestione pacchetti per comportarsi come git linea di comando. – eXavier

9

Visual Studio 2013 Update 2 non supporta shelving (chiamato stashing in git) per i repository git, ma è possibile utilizzare strumenti di terze parti sul repository stesso (io uso SourceTree).

+0

Che è possibile utilizzare gli strumenti git su repository git non è informativo. Basti dire che nonostante le risorse virtualmente illimitate, Microsoft inspiegabilmente fornisce un'interfaccia git impoverita. Non riesco a immaginare quali difficoltà tecniche potrebbero impedirlo e sospetto che non ce ne siano. –

+5

Come non è informativo indicare qualcuno a strumenti che potrebbero non aver considerato? Solo perché sei arrabbiato con Microsoft non significa che la mia risposta sia sbagliata. – thelem

+0

Sono d'accordo con te @thelem – Casey

1

Forse sono arrivato fino a tardi per questo.

Io uso TortoiseGit per questo ... Funziona molto bene e può funzionare insieme a Visual Studio in quanto è solo un plug-in di Explorer.

https://tortoisegit.org/

+0

Questa è la soluzione ideale per la memorizzazione della GUI. – Robino