小白问题: git 咋还原提交和提交者?
資深大佬 : 0x47 0
场景是这样的
1. 原始文件 A
2. 对 A 修改了第 2-10 行,90-100 行,并提交。
3. 中间又有若干个提交,单独或一起修改 2-10 和 90-100 行。
现在我想保留 2-10 行的修改,让 90-100 行回到原始状态,而且让这几行的最后提交仍然原作者。
这要怎么做到?我们是代码谁修改谁负责,所以不想留下自己的名字。。。
大佬有話說 (22)
场景是这样的
1. 原始文件 A
2. 对 A 修改了第 2-10 行,90-100 行,并提交。
3. 中间又有若干个提交,单独或一起修改 2-10 和 90-100 行。
现在我想保留 2-10 行的修改,让 90-100 行回到原始状态,而且让这几行的最后提交仍然原作者。
这要怎么做到?我们是代码谁修改谁负责,所以不想留下自己的名字。。。
还有一种方法,就是干脆找原作者把 L90-L100 改回去。
这样后面的历史里 90-100 就完全不会有修改的痕迹
到这一步后就达到了你想要的效果了,既保持了完整的提交历史,同时 90-100 行就好像从来没有动过一样
git reset –soft 某个历史 commit id
这样代码会保持当前的不变, 并且提交记录会清掉.
缺点是需要 –force 强推一下 (由于分支是你自己的 ,所以强推无所谓)