git:将目录中所有提交的文件恢复为master

Posted

技术标签:

【中文标题】git:将目录中所有提交的文件恢复为master【英文标题】:git: revert all committed files in a directory to master 【发布时间】:2017-09-18 14:04:55 【问题描述】:

我有一个从 master 创建的功能分支 feature-1-branch。 很多时间过去了,我在feature-1-branch 上创建了很多提交。

现在我想恢复提交特定目录中的所有更改,比如说我在分支feature-1-branch 中所做的src/modules/feature-2 回到它们在master 中的状态。

我确定这在 git 中一定是可能的,只是不知道该怎么做!?

【问题讨论】:

【参考方案1】:

只需检查 src/modules/feature-2 目录,从 feature-1 分支到 origin/master 分支。

$ git checkout feature-1-branch
$ git fetch
$ git checkout origin/master src/modules/feature-2/

现在,您在 masterfeature-1-branch 分支中都有相同的 src/modules/feature-2 目录。

【讨论】:

哦,太棒了,这工作,不知道你可以结帐目录:) 非常感谢 sajib khan 顺便说一句,已经添加的更改,所以提交和推送就成功了! 最好将更改隐藏起来,而不是完全清除以防万一您将来需要它。 @AnoopToffy - "git: revert all committed files in a directory to master",这里的更改已经提交,不像我们只能存储未提交的更改。 - 此外,我们可以简单地通过再次签出目录到具有更改的最后一次提交来支持更改(第一次签出之前的最后一次提交) 是的。你说的对。我们只能存储未提交的更改。

以上是关于git:将目录中所有提交的文件恢复为master的主要内容,如果未能解决你的问题,请参考以下文章

Master 恢复后 Git Merge

在 Git 中,如何恢复在提交之前还原的暂存文件?

.git如何恢复代码

sh 将所有未提交的更改移动到新分支,并将现有分支恢复为HEAD。“master”具有未提交的更改。你决定了

Git--07 Gitlab备份与恢复

在恢复的合并中查找提交