2016-01-31 30 views
10

Ho appena iniziato un nuovo progetto e sto utilizzando GitLab con SourceTree. Avevo creato un ramo (origine \ master) ma ho commesso l'errore di utilizzare questo ramo per il mio sviluppo, quindi ho spinto le mie prime modifiche su questo ramo. Ora ho imparato che questo ramo dovrebbe avere effettivamente la versione di produzione e che un ramo di origine/sviluppo dovrebbe essere usato per lo sviluppo.GitLab rinomina diramazione e ricomincia da un'altra

C'è un modo per rinominare il ramo master all'origine \ sviluppare e in qualche modo creare un nuovo ramo di origine \ master con la versione originale dell'applicazione?

Sono l'unico sviluppatore del progetto, quindi non influenzerà nessuno. Se possibile, se puoi spiegare come farlo in SourceTree dato che non uso la riga di comando git. Sono più familiare con SourceTree.

+0

Forse più tardi scoprirai che in realtà hai fatto la cosa giusta, lavorando al master. Google per i principi di sviluppo e Continuous Delivery basati su trunk :) – Ivan

risposta

18

Si potrebbe provare qualcosa di simile. Risposta modificata da this great answer, per soddisfare le esigenze dell'OP.

git branch -m master develop # rename master on local 
git push origin :master   # delete master on remote 
git push origin develop   # create develop on remote 
git checkout -b master develop # create a new local master on top of develop 
git push origin master   # create master on remote 
+1

Non si dovrebbe 'git checkout -b master develop' essere' git checkout -b master ', dove è l'ultimo commit che era originariamente in master? –

+0

Sì, funzionerebbe benissimo se OP conoscesse quei dettagli! – DominicEU

6

instuctions SourceTree a partire dalla versione 2.0.20.1

  1. Rinominare ramo locale sotto "rami"
    • destro ramo del mouse e selezionare "Rinomina Nome del tuo ramo"
  2. Elimina ramo remoto in "REMOTES"
    • destro click ramo e selezionare "Elimina origine/Nome del tuo ramo"
  3. spingere la vostra filiale locale rinominato GitLab
    • click sinistro è stato rinominato sezione locale
    • Fare clic su " Premere il tasto "sulla barra multifunzione
+0

Complimenti per l'effettivo indirizzamento a SourceTree, come richiesto nella domanda originale. –

0

Il modo più semplice per risolvere questo problema consiste nel ripristinare il commit. Se questo era l'ultimo commit effettuato, è possibile risolvere questo problema effettuando le seguenti operazioni:

$ git tornare TESTA

Come fare questo in struttura di origine è al di sotto:

http://flummox-engineering.blogspot.com/2014/10/how-to-undo-git-commit-in-sourcetree.html

Ora tutto dovrebbe essere tornato alla normalità prima della push che hai fatto al repository sbagliato.