Questa è una domanda noob ma sono sotto la pistola per risolvere questo problema. Ho ereditato uno strano problema con un sottoalbero git che appare per corruzione repo.Errore "Fatal: bad object" utilizzando git subtree push
Ecco lo scenario: una sottostruttura di un git-based progetto A è utilizzato in progetto B. Parte dell'uso script deploy spinge la sottostruttura fuori di proiettare repo di B:
git sottostruttura spinta -P sub/percorso/nome --squash [email protected]: MyCo/project_b.git projectb_branch
inizia spingendo i commit e non riesce con
"fatal: bad object {sha}"
ho cercato per il CSA in git log del repo fonte . Esso si presenta in un commit:
git-subtree-dir: app/assets/ui
git-subtree-split: {sha}
Il bersaglio repo (project_b) ha effettivamente un commit con quella SHA ma il repository sorgente non lo fa. Ho attraversato lo script della sottostruttura della shell e posso vedere che non funziona quando cerca di cercare quell'oggetto con git log (nella funzione toptree_for_commit che chiama git log -l --pretty = format: '% T' {sha}).
A questo punto sono sopra la mia testa ma desideroso di provare a trovare una soluzione. Ho studiato questo per quanto riguarda le mie conoscenze limitate, quindi accolgo con favore suggerimenti, trucchi o RTFM che possano avvicinarmi un po 'a una soluzione.
i miei sinceri ringraziamenti!
Il tuo 'git reflog' locale contiene quel' {sha} '? – VonC
no. Sfortunatamente no. –