下圖場景:張三和李四並行開發,張三提交commit1(bc2dd00),李四提交commit2(7f019d2),張三再提交commit3(44d4fc5),如果此時李四revert commit2,會將張三的commit3沖掉。
如果張三在commit3中提交的文件較多,那就有必要還原回來。
我們可以選擇reset到commit3,但是這樣做會把commit3之后的所有更新都沖掉,所以我們在操作之前有必要備份一下當前狀態下的代碼。
操作流程是:
1. 先返回commit3
git reset commit3
2. 新建分支
git branch -b temp
3. 在git頁面上將默認分支設置為temp
4. 刪除出問題的分支,以master分支為例
git brach -d master
5. 將temp分支改名為master分支
git branch -m temp master
6. 將commit3之后的改動手動更新到項目中,然后
git push -f origin master