Domanda

Sto cercando di impostare un modello di sviluppo decente con il mio amico. Il piano è che facciamo sviluppo indipendente sui nostri computer, quindi spingere al server dev per i test, e poi spingiamo dal server dev al server produttivo (Heroku).

Il problema è che non può fare comportarsi git. Forse semplicemente non ne so abbastanza per capire fondamentalmente ciò che sta accadendo. Ho installato il repo sul server dev, ma quando ho clonarlo al mio personal computer, non ci riesco "push" indietro perché si lamenta di spingere per un repo non nuda. Allora ho provato ramificazione dei pronti contro termine, e spingendo i rami, ma ora ho un sacco di dichiarazioni fast-forward, e non credo che voglio che anche quelli sia.

Quindi la mia domanda è questa. Come faccio a configurare il server in modo tutto solo "opere"? Il server non può essere un pronti contro termine a nudo, ha bisogno di avere il codice in esso in modo che possiamo testare l'applicazione. Vogliamo essere in grado di spingere e tirare dal repo ai nostri computer dev senza intoppi. E il server deve essere in grado di spingere a Heroku (si può fare questo già). Questo è il mio server, quindi ho accesso completo a tutto ciò che ho bisogno di ottenere questo lavoro. (Ubuntu Server Edition 11.04).

Grazie!

È stato utile?

Soluzione

Il motivo non si può spingere ad un repository non-nuda per impostazione predefinita è che un repository non-nudo ha una copia di lavoro il check-out ad esso associati. Quando si preme aggiornamenti al ramo che viene estratto, la copia di lavoro sarebbe diventato fuori sincrono con il proprio repository, a meno che non specificatamente esegue un comando per aggiornare (cosa che si può fare con un post-ricezione gancio). Se siete a conoscenza di questo e si desidera spingere ad un repository non-nuda in ogni caso, è possibile impostare la proprietà di configurazione receive.denyCurrentBranch a ignore e git permetterà le spinte. Per ulteriori dettagli vi rimando ad un post sul blog ho scritto qualche tempo fa (probabilmente a causa di un aggiornamento), che descrive una configurazione simile che uso per il mio sito web.

Si noti che invece di solo server di sviluppo e di produzione (ognuno con i propri repository non-nudi) Ho anche un terzo repository, una nuda uno, che spingo le modifiche alla prima, prima di inviarli al dev; in questo modo, ho sempre e solo spingere al server di sviluppo da un luogo, che aiuta le cose mantenere in sincronia.

Altri suggerimenti

Per esporre al commento di @ Davide Zaslavsky, vorrei istituire un repo nuda a spinta per la maggior parte del tempo, quindi usare qualcosa come git implementare per spingere al server di sviluppo. È possibile ottenere la stessa semantica come spingere per Heroku, senza Heroku.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top