代码之家  ›  专栏  ›  技术社区  ›  harpax

GIT:返回到一个旧的提交,并将其与master合并

  •  3
  • harpax  · 技术社区  · 15 年前

    给定一个包含2个文件的项目: fileA fileB 菲拉 .gitignore 文件 他在场。我想现在将此存储库克隆到另一台计算机,但缺少fileA。

    接下来,我要做的是从commit创建一个分支,其中两个文件都存在。现在的大问题是:如何在不再次丢失该文件的情况下返回主提交?

    2 回复  |  直到 15 年前
        1
  •  3
  •   Josh Lindsey    15 年前

    如果您只需要恢复一个文件,那么可以使用 git checkout :

    $ git checkout <revision_where_fileA_exists> fileA
    $ git add fileA
    $ git commit -m "Restored fileA"
    

    您还必须编辑您的 .gitignore fileA 不再

        2
  •  3
  •   dpb    15 年前

    $ git checkout master
    $ git pull -f . <branch>:master
    

    如果您刚刚删除了一个文件,该命令应该会自动提交您的更改。您还可以浏览以下命令以了解更多特定于还原的功能:

    $ git reset 
    $ git revert
    

    如果有一个小的改变,你想退出,而不需要污染日志,但它是非常强大的,请查看文档。