Git 保持相同提交但还原文件

死亡天使908

我想将文件重置为以前的提交但保持当前提交。所以如果我这样做:

git init
touch 1; git add 1; git commit -m "1"
touch 2; git add 2; git commit -m "2"
touch 3; git add 3; git commit -m "3"

这将产生 3 次提交。我想继续提交 #3,但将阶段重置为我在提交 #2 时的状态。我试图遵循:

  • git reset --(hard|soft|mixed|merge|keep)
  • git checkout
  • git revert

所以在一些魔术命令之后,blah我想要以下结果:

  • git log 显示 HEAD 仍在提交 #3
  • ls .显示我只有文件1并且2在我的文件系统上。
  • git diffgit diff --cached显示该文件3已被删除。

我可以做git reset --hard <hash-2>,但这会将HEAD提交#2。

埃尔派凯
git revert HEAD -n

使用-nor--no-commit它会恢复工作树和索引中的更改,但不会创建提交。HEAD可以用其他等效的 commit-ish 替换。如果要提交已还原的内容,则需要运行git commit.

如果你想恢复一些连续的提交,以你的评论中的案例为例,

git revert HEAD~3..HEAD -n

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用IntelliJ IDEA从git存储库还原文件

来自分类Dev

Git还原文件在本地分支中删除

来自分类Dev

git:部分还原文件的先前版本

来自分类Dev

Windows 上的 Git LFS:无法还原文件

来自分类Dev

使用rsync从tar还原文件

来自分类Dev

备份和还原文件权限

来自分类Dev

无法使用extundelete还原文件

来自分类Dev

如何撤消垃圾桶中的还原文件或获取还原文件的列表?

来自分类Dev

使用压缩执行rsync后还原文件

来自分类Dev

Windows复制后还原文件权限

来自分类Dev

如何还原文件复制/传输状态窗口?

来自分类Dev

Intellij git还原提交

来自分类Dev

Git提交问题并还原

来自分类Dev

从备份还原文件属性但不还原完整文件

来自分类Dev

错误备份/还原后,Linux ext4还原文件和目录访问权限

来自分类Dev

Windows 10-“将跳过的还原文件:[file]还原到原始位置”

来自分类Dev

使用deja-dup还原文件失败,并显示“无法还原/ home / user /%N”

来自分类Dev

如何在git的旧提交中还原特定文件

来自分类Dev

无需提交即可还原git repo中的文件

来自分类Dev

git在单个提交文件中的单行上还原

来自分类Dev

Git:从旧提交还原所有更改的文件

来自分类Dev

GIT:恢复到先前的提交后还原未跟踪的文件

来自分类Dev

git在单个提交文件中的单行上还原

来自分类Dev

更改PDF然后删除更改时,还原文件和原始文件的哈希值不同

来自分类Dev

从根目录rm -r还原文件路径中的文件的最佳工具是什么?

来自分类Dev

rdiff-backup-备份文件夹小于原始/还原文件时的错误

来自分类Dev

Git:意外还原但未提交

来自分类Dev

Git:意外还原但未提交

来自分类Dev

如何在本地存储中保存和还原文件对象

Related 相关文章

热门标签

归档