返回提交,撤消文件更改,然后返回上一次提交

羟氨酚

我正在使用某个功能(分支),在此过程中,我删除了不再使用的文件,但是由于某种原因,我需要将其退回。

所以我这样做了:

git checkout hashofcommit0 -- path/to/my/file

它可以工作,但是我丢失了文件上的所有注释我真的需要注解

当然,我可以创建一个新分支,应用最后一个分支(除去的文件除外)进行的所有比较,然后感到高兴。

(0)->(1)->(..)->(n)

有没有解决方案可以返回到commit(0),撤消删除,然后返回到最后一个commit(n)且没有冲突?

卡洛·贝莱蒂尼(Carlo Bellettini)

详细阐述卡尔波的答案

git rebase -i hashofcommit0^   (note the ^ that indicate the father of your first commit)

系统会显示从旧到新的提交列表

pick hashofcommit0  comment of commit0
pick hashofcommit1  comment of commit1
pick hashofcommit2  comment of commit2
pick hashofcommit3  comment of commit3
pick hashofcommit4  comment of commit4
pick hashofcommit5  comment of commit5
...

仅更改pickedit

在错误提交的情况下,将提示您使用shell

例如,使用以下命令恢复丢失的文件:

git checkout HEAD^ -- nameOfMissedFile  

然后重新添加它并修改提交,然后再继续进行变基

git add nameOfMissedFile
git commit --amend        (confirm or change the comment of the commit)
git rebase --continue 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何撤消上一次提交

GitHub GraphQL查询未返回上一次提交

返回到Android Studio中的上一次提交

Mercurial:如何撤消上一次未推送的提交?

水星撤消最后一次提交

如何还原上一次提交并保持更改?

git更改路径后将文件还原为上一次提交

自上一次使用GitPython提交以来已更改的列表文件

列出一次提交到远程分支的更改的文件

我如何才能撤消对Git的最后一次提交并存储这些更改?

如何使用git-plus撤消上一次本地(未推送)提交?

Magit:我可以撤消上一次提交的请求吗?

如何撤消git中的最后一次提交

只需还原一次提交的更改

如何在保持成功提交的同时撤消Mercurial中一次提交的影响?

我的ajax请求提交一次,然后提交两次,然后提交4次,并不断加倍

使用 Git 将文件更改分发到最后一次提交以修改每个文件(修复更改文件的最后一次提交)

SQL回滚不会返回到最后一次提交

为什么git使用--follow和--reverse记录仅返回最后一次提交?

MySQL工作台回滚不返回表到最后一次提交?

我在git中提交,只更改了一个文件,一次插入

HttpClient返回json一次,然后返回undefined

将所有更改从特定的文件从最后一次提交提交到新创建的兄弟分支?

如何重置上一次提交中的所有更改并将其与实际合并?

为什么git cherry-pick冲突包括上一次提交的更改

创建一个git别名以显示上一次提交的特定文件

如何从上一次提交取消添加文件但保留本地更改?

更改列出所有添加的文件,而不是仅最后一次提交修改

Ajax表单提交我想通过id从PHP中的返回值更改表单元素的值,以供脚本下一次调用时使用