2015-07-21 10 views
7

Ho la seguente cartellaGit/gitk mi mostra l'ID sha1 sconosciuto/non valido per una cartella ma non dalla sua cartella principale.

Views/Shared/Base/ 

Dove ho sviluppato parti di un layout

header.cshtml 
footer.cshtml 
mainNav.cshtml 

Così ad un certo punto comincio a creare la cartella 'Base', con una prima impegnarsi per quei file (in un ramo devivato dal maestro). Questo impegno iniziale va al nostro maestro perché siamo in una fase precedente, quindi nessun problema. Chiamiamo quel commit, commit A.

Quindi, continuo a sviluppare quei file e creare più, più commit per loro e portarli al nostro master in modo che il resto del team possa beneficiare di tali cambiamenti. Almeno questa era l'idea. Diciamo che ho creato commit B, C, D.

Ma la scorsa settimana, tutto il nostro team dovrebbe sincronizzarsi con il nostro master, che era obbligatorio. Continuo a sviluppare e creare un commit E. Ma non ho ancora preso il comando E, oggi sincronizzo il mio ramo (sono l'unico che usa questo ramo per sviluppare 'Base') con il master in modo da poter avere tutti i cambiamenti dal team e vedere se tutto andava bene.

Ma nonostante la fusione era veloce in avanti, vedo con sorpresa che la cartella 'Base' sembra permanenza a commettere A, non E, che è il mio più recente commesso.

All'inizio pensavo a una fusione davvero pessima da parte di qualcuno del team. Ma non ho trovato niente del genere. I commenti e l'albero (ho controllato tramite gitk) non hanno mostrato nulla del genere.

E la cosa più strana è la seguente:

Una caratteristica potente di git, è che si può controllare la storia di una cartella o di un singolo file, ho ragione?

Bene, guarda questo. Utilizzo di gitk Ho controllato "Visualizzazioni" e ho cercato commit D e E. Ovviamente, gitk li ha trovati e mi mostra i commit di header.html, footer.html all'interno di "Views/Shared/Base".

fresco, ma questo è accaduto quando ho fatto lo stesso per la base .. una volta ho fatto gitk per 'Vista/Shared/Base', e cercare commette D & E, mi gitk mostrano un errore: " la id SHA1 D/e es desconocida", che in inglese credo l'errore viene tradotto in "la SHA1 id D/e è sconosciuto" o qualcosa di simile.

Quindi non capisco perché posso trovare il commit nella cartella padre ma non in quella interna.

Non so cosa sta succedendo o come risolverlo. Il nostro repo è danneggiato?

risposta

4

Is our repo corrupted?

In primo luogo, è sufficiente clonare ancora una volta che repo e vedere se master (e Base/ contenuto) sono ok.

today I sync my branch (I'm the only who use this branch to developed 'Base')

Se si è l'unico a lavorare su un ramo, si dovrebbe rebase in cima master al fine di beneficiare del contenuto più recente master.

git checkout myBranch 
git fetch 
git rebase origin/master 

Questo dovrebbe mostrare Base/ con i tuoi ultimi contenuti.

+0

Ho controllato prima di scrivere questo (scusa se non l'ho accennato) questo è un problema già diffuso in tutto il team – raulricardo21

+0

@ raulricardo21 che non è un problema: puoi comunque assicurarti che la situazione sia corretta su un nuovo repository locale , quindi forza forzare 'myBranch' sul server, e assicurati che il team recuperi e resetta il loro' myBranch' basato su 'origin/myBranch'. – VonC

+0

sì, arrivo, ci proverò. Ma la verità è che ho già scelto i cambiamenti che ho perso e letti al mio repository. Ma la risposta che sto cercando è quello che è successo, quindi forse abbiamo fatto qualcosa di veramente sbagliato e abbiamo bisogno di evitare che quella situazione si ripeta. – raulricardo21

Problemi correlati