2012-06-26 13 views
5

Ho un repository git e l'ho appena trasferito su un server. Quindi ho impostato un hook di post-ricezione sul server. Voglio verificare che funzioni. Devo impegnarmi di nuovo solo per vedere se funziona? Mi piacerebbe solo forzare una spinta mentre sto cercando di ottenere questo set up piuttosto che continuare a fare commit che non hanno un valore reale. Non funziona, e io proprio non capisco.Pushing senza commit

$ git push --force origin master 
Everything up-to-date 
+0

In particolare per le pagine GitHub su fork: http://stackoverflow.com/questions/8587321/github-pages-in-forked-repo –

risposta

5

È necessario inviare un commit precedente per ottenere ciò. Ad esempio, è possibile spingere il diritto commit prima che la testa corrente utilizzando questo commento:

git push --force origin HEAD^:master 

Dopo questo si può spingere la testa commettere di nuovo:

git push origin master 

Tuttavia, invece di spingere per tutto il tempo in considerazione chiamare il gancio manualmente. Di solito è più facile, ma non dimenticare di provare con una spinta vera quando pensi che tutto funzioni per essere sicuro.

+0

potresti chiarire la cosa sull'uncinetto? O indica qualche guida –

2

C'è un po 'sporco trucco è possibile utilizzare:

git stash save && git push --force origin "[email protected]{0}:master" && git stash pop 

Questo fa 3 cose:

  1. Stash attuali modifiche non. Stashing crea un nuovo commit, ma su un ref separato. Non sporcherà la tua storia. Inoltre, cancella la directory di lavoro dalle modifiche. Vedere il passaggio 3.
  2. Spingere il codice nascosto
  3. Estrarre lo stash: svuotare lo stash e posizionare tutti i file nella directory di lavoro.

Ciò consentirà di inviare tutti i file al telecomando senza creare un commit locale.

Problemi correlati