2014-07-16 9 views
14

Sto utilizzando Git in VS2013 e i miei file modificati non vengono visualizzati nella finestra delle modifiche di VS.Cambiamenti Git non visualizzati in VS2013 Aggiornamento 2

Quando ho modificato un file ma prima che l'abbia salvato su disco, viene visualizzato. Ma non appena il file viene salvato su disco, la modifica scompare dalla finestra delle modifiche.

Ho provato a disinstallare e reinstallare VS2013 ma non è stato di aiuto. Qualche idea su come mantenere le modifiche nella finestra una volta salvate?

Ho usato Git sulla riga di comando per ovviare a questo problema in modo che git client sia in grado di rilevare che ci sono cambiamenti.

Prima del salvataggio.

enter image description here

Dopo aver salvato il cambiamento file scompare.

enter image description here

+0

Quindi si inizia a digitare in VS e viene visualizzato il file come modificato? E premi Salva e poi non c'è nulla nell'elenco delle modifiche incluse o escluse? Puoi pubblicare screenshot che lo illustrino? –

+0

Sì, è vero. Screenshot aggiunti. –

+0

È molto strano. Giusto per confermare: hai apportato una modifica al file e git sulla riga di comando mostra una modifica non modificata? Se è vero, non posso spiegarlo. Puoi seguire con me via email e possiamo ottenere alcune informazioni di debug da te? –

risposta

1

avevo installato l'anteprima estensione Roslyn. La disabilitazione di questa estensione risolve il problema.

+0

Grazie Joel per rintracciarlo; lavoreremo con il team di Roslyn per capire meglio cosa sta succedendo. –

+6

Ho ancora lo stesso problema e non ho installato estensioni Rosylin. : :( –

+1

@AlexReitbort Posso confermare che ciò può accadere anche in assenza di Roslyn. C'è un elemento [Visual Studio Connect che rileva questo bug] (https://connect.microsoft.com/VisualStudio/feedbackdetail/view/950038#tabs) – vossad01

-1

Spero che questo aiuti qualcun altro ...

Soluzione semplice:

1) In prossimità VS 2013 e rinominare manualmente la cartella della soluzione. 2) Riapre VS 2013. VS richiederà di clonare la soluzione dal server per aprirla. Seguire le istruzioni e clonare una nuova copia della soluzione. 3) Chiudere VS 2013 e utilizzare Beyond Compare (o un altro sistema di confronto file) per spostare manualmente le modifiche dalla vecchia soluzione alla nuova soluzione. 4) Riapre VS 2013. Le modifiche verranno visualizzate e sarà possibile eseguire il commit sul repository locale e remoto.

--- --- Altre informazioni

avuto lo stesso problema. Apportato una modifica a un file in VS 2013 Update 4. Prima di salvare il file, il cambiamento è stato mostrato nella schermata "Changes" (e un segno di spunta è apparso accanto all'elemento in Solution Explorer). Dopo il salvataggio, l'elemento non appare più nella schermata "Modifiche" (e l'icona di Solution Explorer è tornata a essere bloccata).

Questo problema può essersi verificato a causa di una delle due recenti modifiche apportate al progetto, anche se non ho avuto il tempo di provare a riprodurre lo scenario.

1) I manualmente (al di fuori di VS) ha eseguito alcune copie/backup per distribuire una nuova versione di una libreria js di terze parti. struttura della cartella originale: c: \ git \ soluzione \ webProj \ scripts \ jwplayer \ premio \ jwplayer.js c: \ git \ soluzione \ webProj \ scripts \ jwplayer \ libero \ jwplayer.js

nuova struttura delle cartelle : c: \ git \ solution \ webProj \ scripts \ jwplayer \ c: \ git \ solution \ webProj \ scripts \ jwplayer \ jwplayer-6.11__MACOSX c: \ git \ solution \ webProj \ scripts \ jwplayer \ jwplayer-6.11 \ jwplayer c: \ git \ solution \ webProj \ scripts \ jwplayer \ jwplayerOriginal \

Questo era un tentativo di isolare jwplayer.js (e altri file richiesti) nella directory jwplayer. La nuova directory __MACOS aveva nomi di file che iniziavano con un ".".C'è una teoria secondo cui il percorso di quei file potrebbe essere un lancio e un errore durante l'elaborazione delle modifiche di VS 2013.

2) Recentemente ho ricevuto gli aggiornamenti di nuget. Caveat, prima dell'aggiornamento di nuget, avevo rimosso il riferimento ai file .map nei file js di base sotto la directory scripts (lungo brutta storia). Quando ho provato ad aggiornare da nuget, nuget ha riconosciuto le modifiche e ha fallito l'aggiornamento, ma ha comunque aggiornato web.config e pacchetti. Ciò ha provocato una discrepanza tra ciò che il pensiero di nuget è stato installato e ciò che è stato effettivamente installato. Ho usato l'integrazione di VS 2013/git per "annullare" ciascuno degli aggiornamenti, ma potrebbe essermi perso qualcosa.

3

Ho avuto anche questo problema. È successo casualmente, e prima o poi il mio stato git è stato completamente cancellato dal componente aggiuntivo Microsoft Git Provider in Visual Studio, sebbene fosse corretto su Git bash.

Si scopre che, nel mio caso, si verificherà non appena apro una connessione a un database LocalDb da SQL Management Studio e la connessione è stata mantenuta aperta. Quindi, sospetto che ciò possa accadere ogni volta che un processo blocca un file che viene monitorato da Microsoft Git Provider.

Spero che aiuti. Nel mio caso, è riparato!

+0

Btw, sono su Visual Studio 2013 Professional - Aggiornamento 4. –

+0

La tua risposta mi ha suggerito questa causa, e ora ho almeno una soluzione. Grazie! –

1

anche se è una domanda piuttosto vecchia, ho avuto un problema simile la scorsa settimana su VS2013 e nessuna delle soluzioni alternative è per me efficace. Durante la modifica di un file, viene visualizzato nell'elenco Team Explorer dei file di modifica ma, non appena vengono salvati, viene rimosso da qualsiasi elenco. Altri strumenti (git bash, tartaruga, ...) li hanno visti come modificati e non trasmessi ma non VS. Ho risolto questo problema nel parametro di Git in Team Explorer generando il file .gitIgnore della soluzione! Spero che questo possa aiutare.

+0

Ho avuto questo problema su un nuovo macchina con una nuova installazione sia di VS2013 Update 5 e VS 2015 e mi stava facendo impazzire. Poi ho scoperto che se avessi installato Git per Windows, il problema è andato via! https://git-for-windows.github.io/ – fhilton

1

Aprire il file .gitignore con Editor o Notepad ++ ed eliminare le righe che includono i file che si desidera tracciare.

1

Mi sono imbattuto in questo problema quando ho aggiunto un nuovo progetto esistente alla mia soluzione in VS2015. Il problema era che il nuovo progetto utilizzava un file db locale (un file .sdf e un opendb) che veniva aggiunto alla radice della soluzione. Quando si tentava di mettere in scena modifiche non vincolanti, non funzionava perché non poteva accedere al file opendb mentre vs lo possedeva.

Ho trovato questo utilizzando git per Windows e cercando di mettere in scena le mie modifiche. Una volta aggiunto lo *opendb al mio .gitignore e riaperto Visual Studio, ho trovato tutte le altre mie modifiche.

+0

Sto utilizzando Git Repo e lo sfruttatore di team ha smesso di funzionare dopo aver aggiunto un progetto di database di Visual Studio. Grazie a ciò è stato possibile attivare l'idea di aggiungere di recente un progetto DB. – NickBenedict

0

Ho avuto lo stesso problema e stava succedendo perché tutti i file di codice erano in una sottocartella che conteneva anche un repository git e che impediva di rimanere nella sezione "modifiche incluse" dopo il salvataggio.

Per risolvere il problema sono andato nella sottocartella e ho cambiato tutti i nomi dei file git in qualcos'altro (ad esempio rinominato .git cartella in z.git, .gitingore in z.gitingorez, ect). Dopo che tutti i file sono stati visualizzati nella sezione "file non tracciati" e le modifiche sono rimaste nella sezione "modifiche incluse" dopo il salvataggio.

0

Sto usando Visual Studio 2017, ma ho dovuto ESATTAMENTE lo stesso problema. Mi ci sono voluti ore per trovare una soluzione.

Soluzione:

  1. Trova il tuo .git folder.
  2. Individuare ed eliminare il file 'index.lock'.
  3. Riavvia Visual Studio.

Spero che questo aiuti qualcuno!

Problemi correlati