2015-11-24 3 views
5

Ho due repository remoti. Uno è privato (Bitbucket) e l'altro pubblico (Github). Stavo spingendo le modifiche a Bitbucket usando l'app Github e poi spingendo lo stesso commit su repository Github usando Xcode. Tuttavia, recentemente sono stato in grado di spingere il commit Github e utilizzando SourceTree ricevo questo messaggio di errore:Impossibile PUSH recenti si impegna su Github che è stato inviato a Bitbucket

This repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting .git/hooks/pre-push. 

Questo è come appare dal di dentro SourceTree:

enter image description here

Come posso ottenere il mio repository Github per accettare i commit più recenti?

risposta

4

Si dispone di un gancio di pre-push che indica che è abilitato git-lfs (supporto per file di grandi dimensioni) per questo repository, ma che non è in grado di trovare il programma git-lfs sul computer. La soluzione è quella di rimuovere il gancio (che si trova in .git/hooks/pre-push, come dice il messaggio di errore), o di correggere il tuo PATH in modo che possa trovare il programma git-lfs.

+0

Ok. Sono nuovo di questo problema. Come potrei andare a risolvere il mio percorso? Grazie. – Jonathan

+0

'PATH' è una variabile di ambiente contenente un elenco di directory di ricerca che la shell utilizza per trovare i programmi eseguiti. Il modo in cui viene modificato dipende dal sistema operativo in uso e da altri dettagli, ma la maggior parte dei sistemi operativi utilizza la shell bash. Se stai usando la shell bash, modifica il tuo script ~/.bashrc. Ci sono molti posti per scoprire tutti i dettagli che non rientrano in un commento. – db48x

+0

Ho rimosso il .git/hook/pre-push. Ora posso caricare nuovamente su github. Perché Github ha iniziato ad aggiungere questi file ".git/hooks/pre-push"? Devo cancellare questi file ogni volta? Quando uso Github desktop per mac. Non c'è problema. Quando uso la riga di comando non funziona. a meno che non elimini il file indicato. Non dovrebbe optare in una cosa del genere? – eonist

1

Sarebbe stato sufficiente dire che la directory .git si trova nella directory locale originale del repository e probabilmente è necessario un programma come TextWrangler o simile, che mostra i file nascosti che iniziano con un punto, per essere in grado di vederlo e cancellarlo spostandolo nel cestino (tasto destro del mouse). Mi ci è voluta un'ora per capire questo. Spero che nessun altro debba sprecare quel tempo.

+0

Grazie per il vostro aiuto. – Lucas

0

Ecco le istruzioni per la rimozione del file di pre-push utilizzando Terminale Mac: Primo: cd alla directory in cui è il vostro repository locale per il vostro progetto. (La cartella principale che contiene .xcodeproj e altri file) Il file .git è nascosto ma è ancora possibile accedervi digitando cd .git/hooks nel terminale. Se si digita ls nel terminale per visualizzare tutti i file all'interno della directory corrente, si noterà il file pre-push. Digitare rm pre-push per rimuovere il file. Ora dovresti essere in grado di inviare al tuo repository remoto. Assicurati di riportare alcune volte nella tua directory locale per il tuo progetto, cd ... Semplice come quella.