Move commits from master onto a branch using git
我正在努力学习如何有效地使用git,我想知道我应该如何(好的做法/坏的做法?)解决以下情况:
假设我在Master中有以下承诺链:
- 初始提交
- 提交1
- 提交2
- 提交3
然后我意识到在最后两次提交中所做的是完全错误的,我需要再次从提交1开始。问题:
- 我该怎么做?
- 我可以将commit 2和3移动到一个单独的分支以备将来参考(说它们毕竟没有那么糟糕)并继续在master上从commit 1开始工作吗?
1 2 | git branch tmp # mark the current commit with a tmp branch git reset --hard Commit1 # revert to Commit1 |
所以回答"Git中的"Git重置"和"Git签出"有什么区别?"对那种操作很有指导意义
。
一个
由于
实际上,达里恩在评论中提到(关于将
Accidentally committed to the wrong branch, this let me move it, did:
号
1 2 3 | git checkout correctbranch git rebase tmp git branch -d tmp |
号
这在这里起作用,因为初始分支已重置为