Commint git / errore di spinta

Per spostare un progetto che attivamente programmata senza il controllo di versione al giorno d'oggi è completa follia. Generalmente ci sono numerose opzioni bazaar , mutevole , idiota , svn . Così qui se vi aspettate di spiegare ciò che il controllo di versione è buono e il motivo per cui non sarà. usiamo idiota. molte ragioni – facile da regolare, molto flessibile, scritto da Linus Torvalds è quello di servire le versioni Linux Kernel, questi ultimi sono almeno 2 motivo 😉 . Oggi ho dovuto creare un nuovo repository, E 'iniziato un nuovo progetto. Io in realtà creato un piccolo repository di esso molto tempo fa, quando abbiamo avuto e che ho dimenticato i piccoli momenti che. Creare repository urtato diversi file primo negozio tutto è andato bene. La stessa impostazione del repository era standard:

git init
echo "Short project's description" > .git/description
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
git commit -a
touch .git/git-daemon-export-ok

In pratica tutto ciò che non va bene. Poi ho deciso di provare una macchina remota per preservare i contenuti e cercando di fare un push-me si chiuse con il brutto messaggio:

Spingendo a git://gitHost / progetto
a distanza: errore: rifiutando di aggiornare estratto filiale: refs / teste / master
a distanza: errore: Per impostazione predefinita, l'aggiornamento del ramo corrente in un repository non-nudo
a distanza: errore: è negato, perché renderà l'albero indice e lavoro incoerente
a distanza: errore: con quello che ha spinto, e richiederà 'azzeramento git –difficile’ da abbinare
a distanza: errore: l'albero di lavoro a testa.
a distanza: errore:
a distanza: errore: È possibile impostare 'receive.denyCurrentBranch’ variabile di configurazione a
a distanza: errore: 'ignorare’ o 'mettere in guardia’ nel repository remoto per consentire spingere in
a distanza: errore: la sua attuale ramo; però, questo non è consigliato a meno che non
a distanza: errore: organizzato per aggiornare il suo albero di lavoro per corrispondere a ciò che ti ha spinto in qualche
a distanza: errore: altro modo.
a distanza: errore:
a distanza: errore: Di reprimere questo messaggio e ancora mantenere il comportamento predefinito, impostato
a distanza: errore: 'receive.denyCurrentBranch’ variabile di configurazione di 'rifiutare'.
a git://gitHost / progetto
! [a distanza respinto] maestro -> maestro (ramo è attualmente estratto)
errore: non è riuscito a spingere alcuni arbitri a 'git://gitHost / progetto’

Quindi, apparentemente cercando di ribellarsi nella struttura principale del progetto e del software gentilmente mi ha tagliato. Nel complesso non ho nessuna intenzione di fare Branch extra perché le persone coinvolte nei progetti sono chiari e per altri motivi. Ecco che arriva il momento di dire che ho definito un titolo molto incompetente, ma questo è un altro punto. In generale la soluzione è banale in .git progetto / config è necessario aggiungere la seguente direttiva:

[receive]
denyCurrentBranch = false

Poi tutto si mette a posto.

http://www.youtube.com/watch?v = 16bRiH5zfOY

lascia un commento

L'indirizzo email non verrà pubblicato. i campi richiesti sono contrassegnati *

Anti Spam *