2012-05-09 17 views
14

La mia azienda incorpora iRise per la prototipazione e non ha alcun tipo di controllo delle versioni (a meno di fare copie dei file con nomi di file diversi = versioning). Comunque, stiamo usando Git per il nostro controllo di versione e dal momento che il tipico utente di iRise qui sarà un grafico/web designer, voglio automatizzare il processo il più possibile. Ho una hot folder in esecuzione un AppleScript che spingerà per un repository remoto, ma non sono sicuro di come aggiungere un messaggio ...Git: Invia a un repository remoto con un messaggio

git push TestProject master 

provato

git push TestProject master -m 'message' 

ma buttato un errore di interruttore e mostrato un elenco di opzioni, -m non essendo uno di loro ...

è possibile o devi prima eseguire il commit localmente e quindi inviarlo al telecomando e il messaggio verrà allegato con esso?

risposta

25

Si dovrà fare un commit (dopo l'aggiunta di file)

git commit -m 'message' 

e quindi spingere:

git push TestProject master 

Non è possibile associare un messaggio alla spinta.

+1

Grazie, qualche idea su quale sia il ragionamento? – PruitIgoe

+0

Dang, devo aspettare 12 minuti per darti gli oggetti di scena ... – PruitIgoe

+4

"Il ragionamento" è che "push" sta copiando i commit da un repository all'altro. Quindi devi fare un commit per farlo copiare. – ebneter

6

Penso che la domanda sia legittima e non risponda completamente alla risposta di cui sopra. Ecco un flusso di lavoro che utilizziamo nella nostra società (usiamo flusso git):

  1. funzione flusso git Iniziamo MyFeature
  2. git commit -m 'commettere per la funzione MyFeature prima revisione del codice'
  3. iniziato codice collaboratore rivedere con il commit di cui sopra.
  4. git commit -m 'commettere per commenti di revisione del codice/cambiamenti per MyFeature Round1'
  5. < come sopra, forse round2 >
  6. flusso git caratteristica finitura MyFeature
    • questo si fonde a locali di sviluppare ramo, ed elimina MyFeature ramo
  7. origine git push sviluppare

Ora sarebbe davvero bello se potessimo aggiungere un messaggio come questo durante la spinta Punto 7. in questo modo:

git push -m 'Feature is code complete, code collaborator review ids 1234, 1235.' origin develop 

Sicuramente, non un caso banale in cui qualcuno sta cercando di spingere senza impegna, ma un passaggio molto utile in cui si annota un push specifico con metadati che fornisce alcuni audit trail.

+0

Sì, sono d'accordo. Nel mio caso, sto spingendo dopo un nuovo clone. Vorrei un messaggio per dire da dove ho clonato. Come novellino, non vedo che le informazioni siano prontamente disponibili. Essere in grado di tracciare facilmente l'origine di un ramo è qualcosa che SVN fa davvero bene. Voglio imitarlo. – AnneTheAgile

+0

In che modo chiunque può riesaminare il codice senza essere spinto al repository remoto. Stanno riesaminando dopo essere arrivati ​​agli sviluppatori? Il commit AFAIK è un processo locale :) – nanosoft

Problemi correlati