如何在git中恢复自动子项目提交

时间:2014-09-11 01:09:28

标签: git git-revert subproject

我的项目中有几个子模块,我无意中对模块进行了一些更改。 虽然我没有明确检查更改,但是当我对存储库进行区分时,我看到子项目提交。enter image description here
(使用藏匿处)

当我在我的本地仓库上做git status时。它对子项目显示(modified content)。所以我移动到子项目的子目录并放弃了更改。当我现在执行git状态时,(修改后的内容)不会显示。但是,由于没有提交,我无法检入或恢复pic中显示的无意提交。 git revert <green commit hash in pic>错误,因为我的本地仓库中没有这样的提交。

请帮助我了解如何恢复子项目的提交。即使我进入子项目的子目录,这些提交也不会显示。

1 个答案:

答案 0 :(得分:0)

不确定它是否是最佳方式,但我发现了如何做到这一点。

  1. 我通过git checkout -- <file>
  2. 放弃了对子项目的所有更改
  3. 当我在子项目上执行git分支时,它显示它已分离 来自HEAD。我做了git pull origin master
  4. 现在,当我进入根项目并执行git状态时,它会显示出来 除了子项目之外(new commits)。添加子项目 使用git add <subproject-name>git commit
  5. git push对远程存储库的更改。