我有一个git flow问题。
我已经在我的代码中为当地的开发人员工作了#39;在git中分支。然后在工作完成后,我添加了所有已更改的文件,之后我将其提交给我当地的分支机构'开发人员。然后我想结账给我当地的主人'分支从远程' master'中提取新版本分支到将新的远程版本与我的开发者'。
合并后但结账给当地的主人'来自当地的开发商'由于一些未跟踪的文件而中止。不幸的是,我使用git clean -f -x -d
来清理我的存储库,这删除了所有文件,甚至是已提交的文件。我以为这只会删除未跟踪的。但是我能够在git扩展工具上看到我的提交,但是使用git status
它会显示很多文件已被删除。
我知道清洁是不可恢复的,但是在清理之前我做了一个提交,我可能会以某种方式"忽略"通过恢复到我在本地开发人员上做的最后一次提交,我做了干净吗?
希望有可能。
许多人提前感谢。
编辑:我做了所提供的事情并且有效。我在我的旧提交中进行了更改。但不幸的是,git clean删除了项目所需的一些文件夹。现在缺少一些必需的构建路径。此文件夹为空文件夹,但仍需要项目流程。我如何阅读这个由我制作的干净删除的空文件夹?来自原点/主人的拉力不起作用。那里有文件夹。此致 alfi92。
答案 0 :(得分:1)
您有几个选择:
git reset --hard <commit-SHA>
这会将您的分支指针移至<commit-SHA>
。任何与git add
一起上演的内容都会被抛弃。尚未暂存的已修改文件也会被抛弃。这是你可以使用的最大的锤子。实际上,您已重新克隆了存储库。 git checkout -- .
这将还原从当前目录开始找到的所有已修改文件。将恢复未标记为git rm
删除的已删除文件。这将 不 从先前使用git add
暂存的暂存区域中删除内容。如果你想要的只是恢复以前提交的文件,我会从这开始。答案 1 :(得分:0)
如果您知道开发人员分支中上次成功提交的sha代码。只需使用该sha代码进行重置。这应该重置所有指向旧成功提交的指针,然后你将恢复你的文件。
git reset - 硬shacode(成功提交)