首先,备份您的存储库:
将其复制并保存到某处。
二结帐您的远程分支:
git checkout -b mybranch origin/mybranch -u
如果你想恢复到以前的状态,你有三种选择:
1. Revert - git revert <previous_commit>
2. Rebase - git rebase -i <previous_commit>
3. Reset - git reset <previous_commit>
选项1是最安全的,因为它创建了一个新的提交恢复当前提交。
选项2通过以先前提交开始的交互重定义提交来重写历史记录。您可以有选择地选择哪些提交是新历史记录的组成部分。
选项3还通过强制分支HEAD指向先前的提交来重写历史记录(就好像未来的提交没有发生一样)。如果您已经检出文件(注意不要丢失您的工作!),您可能需要使用--hard选项运行此选项。
由于选项2和选项3重写了历史记录,因此您应该注意您的团队被通知变化。他们需要强制获取最新的分支(或者只是从源代码中重新克隆存储库)。一旦你所做的更改,并且您感到满意,推动更改您的远程分支:
git push origin mybranch --force
或者干脆
git push --force
,因为有一个上游分支已经建立。
感谢您的详细回复! – user3032887