Il master è a dire commit # 10. Tuttavia, ho finito per rendermi conto di aver rotto qualcosa lungo la strada che non è stato catturato dai test.Git push master fatale: non sei attualmente su un ramo
Ho finito per eseguire il commit n. 5, quindi lentamente ho ripetuto lo sviluppo di ogni commit e l'ho regolato continuamente per assicurarmi che non causasse nuovamente il bug. Ora sono essenzialmente tornato al commit # 10, ma con una serie di modifiche che impediscono il verificarsi del bug.
Ora voglio creare commit # 11 utilizzando le mie modifiche. Ma quando provo a spingere per padroneggiare ottengo
fatal: You are not currently on a branch.
To push the history leading to the current (detached HEAD)
state now, use
git push master HEAD:<name-of-remote-branch>
Quale è da aspettarsi. Ma come faccio a spingere fino alla mia filiale remota?
ho cercato git push origin HEAD:master
ma poi ottenuto questo:
! [rejected] HEAD -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/tomhammond/sample.git'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. Check out this branch and integrate the remote changes
hint: (e.g. 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
Quando faccio un git status
vedo HEAD detached from 4a74ac3
Vi siete assicurato che la vostra storia di impegnarsi fino # 10 è quello che era in origine, e che solo il tuo commit # 11 contiene le modifiche?Un errore del genere viene normalmente dato quando il tuo ramo e il ramo di origine hanno una cronologia di commit diversa (come quello che succede quando hai rifatto lo sviluppatore di ciascuno dei commit) –
Sono abbastanza sicuro che non lo facciano. Penso di aver scioccamente iniziato a fare il dev dopo aver controllato # 5 –
Va bene, quello che puoi fare è 'git reset [commit10Hash]' per togliere le modifiche, quindi 'git stash' per salvarle per un po ',' git reset - -hard origin/nameofremotebranch' per resettarlo all'origine, 'git stash pop' per riapplicare le modifiche che vuoi, quindi' git add .' e 'git commit -m" Le tue nuove modifiche all'inizio dell'origine "'. Dovresti quindi essere in grado di 'git push nome origineofremotebranch' senza conflitto –