Sto usando git
per il repository del codice sorgente e il codice corrente in uno stato disordinato e voglio passare ad altri rami per un po 'di lavoro. Il problema è che non voglio fare solo un lavoro a metà, quindi come posso tornare a questo punto più tardi.Switch branch senza commit del codice di lavoro
risposta
Hai due opzioni per farlo.
Opzione 1: - Creare la patch per il codice di lavoro e verificare che tutto il codice di lavoro passi a un altro ramo.
Opzione 2: - Puoi riporre i tuoi rami. Clicca qui per maggiori dettagli ad esempio: http://www.gitguys.com/topics/temporarily-stashing-your-work/
Non puoi semplicemente creare un'altra directory e clonare il ramo desiderato in esso?
Se si dispone di un runtime configurato per l'utilizzo di una determinata directory, creare un collegamento alla directory clone di diramazione attualmente in uso. In questo modo potresti avere più di un ramo localmente senza molto rimpasto delle tue risorse locali (solo un semplice script per ricollegare la directory usata dal tuo runtime/server).
Puoi riporre i tuoi rami. Ecco un esempio: http://www.gitguys.com/topics/temporarily-stashing-your-work/
Fornire un codice. I collegamenti dovrebbero essere solo l'aggiunta alla risposta –
Forse la fonte più affidabile per questo sarebbe https://git-scm.com/docs/git-stash – l0lander
Link mi sembra morto. Un altro link interessante sulla conservazione: https://www.atlassian.com/git/tutorials/git-stash –
È possibile utilizzare git stash
a "disfarsi" modifiche per un po 'e poi, quando si desidera ripristinare le modifiche precedenti utilizzano git stash pop
*
È anche possibile (ed è più sicuro) impegnarsi il tuo WIP (work in progress) funziona, passa a un altro ramo, fai il tuo lavoro, ritorna al ramo originale, finisci il lavoro originale e poi squash i tuoi commit in uno solo.
Ricorda che il commit non è uguale al push, quindi puoi localmente avere una cronologia disordinata ma, una volta rebasato e schiacciato, tu (e il tuo team) vedrai solo la versione pulita.
* prestare attenzione perché se si memorizza più di una volta, git pop farà scoppiare solo l'ultima scorta. In questo caso è necessario utilizzare git pop [email protected]{<revision>}
Se avete la git più recente (> = ver.2.5.0), è possibile utilizzare git worktree.
Tramite il comando seguente, è possibile eseguire il checkout di un albero di lavoro temporaneo da utilizzare.
git worktree aggiungere sourcetree_dir NOME_RAMO
Dopo finito il tuo lavoro su questo ramo, è possibile utilizzare il seguente comando per eliminarlo.
git worktree prugna
Utilizzando la riga di comando, risposta breve:
git stash
git checkout otherBranch
Se il Brach è in uso origine:
git checkout origin otherBranch
..
do your changes/commits
..
git stash apply
Con git stash apply
torni le tue precedenti modifiche. È possibile trovare conflitti di unione ... risolti e commit di nuovo.
- 1. switch git branch senza file checkout
- 2. SVN Copia di lavoro su rami diversi Unisci senza commit su copia di lavoro Branch
- 3. git branch senza storia
- 4. git branch (senza succursale)
- 5. Switch senza custodia
- 6. Move Old Commit in New Branch
- 7. Git: Cherry-Pick alla copia di lavoro senza commit
- 8. Utilizzare 'git filter-branch' per correggere le date del commit nell'ultimo N commit?
- 9. Unisci ramo GIT senza registro commit
- 10. Ottimizzazione del codice; switch versus if
- 11. git unione senza auto commit
- 12. Stessa copia di lavoro del codice con 2 server SVN
- 13. Uso ripetuto di git-filter-branch per riscrivere nuovi commit
- 14. Come evitare "Merge branch 'name_of_branch' in messaggi di commit?
- 15. Git Empty Commit senza modifiche
- 16. Git e Mercurial: quale sarebbe l'equivalente del flusso di lavoro Git in Mercurial?
- 17. Flusso di lavoro Gerrit: push single commit sul ramo argomento
- 18. git checkout e fondere senza toccare albero di lavoro
- 19. Utilizzo di monitoraggi commit come modulo di revisione del codice
- 20. il modo più semplice possibile git può emettere il numero di commit tra "branch" e "remotes/origin/branch"
- 21. Interruttore directory di lavoro copia senza aggiornare
- 22. git branch: gh-pages
- 23. Subversion - Branch of a branch
- 24. Codice prima del primo "caso" in una istruzione switch
- 25. Come scaricare solo una directory di lavoro del codice sorgente AOSP senza l'intera cronologia dei repository?
- 26. Pushing senza commit
- 27. JGit: come ottenere tutti i commit di una filiale? (Senza modifiche alla directory di lavoro ...)
- 28. Subversion branch question
- 29. Rimozione del codice imperativo dai flussi di lavoro asincroni F #
- 30. Come impostare la directory di lavoro su un commit precedente?
Link mi sembra morto. Un altro link interessante sulla conservazione: https://www.atlassian.com/git/tutorials/git-stash –