在svn中,可以执行svn revert ./*
,其中当前目录和当前目录都将被还原。
相当于svn revert
的git是什么,只有当前目录被还原?
我知道有git reset --hard
,但它会恢复所有内容,而不仅仅是当前目录。
如何在git中恢复当前目录?
答案 0 :(得分:52)
就像@vcsjones所说,这里的解决方案是git checkout
:
git checkout <refspec> -- path/to/directory # or path/to/file
例如,<refspec>
可以是HEAD
,即当前工作提交。请注意,checkout
命令的这种用法将影响工作树,但不会影响索引。
git revert
用于“恢复提交”,因此,不应该理解提交从树中消失(它会对历史造成严重破坏 - 如果你想要,请查看{ {1}})。还原提交包括将反向中的所有更改作为参数应用于树,并使用更改创建新提交(使用默认提交消息) ,你可以修改)。
答案 1 :(得分:19)
转到要还原的文件夹,然后执行以下操作:
public class Entitity1
{
}
public class Entity2
{
}
public class EntityAggregate
{
public EntityAggregate(Entity1 entity1, Entity2 entity2) // constructor
{
this.entity1 = entity1;
this.entity2 = entity2;
}
public ExecuteYourBusinessCase()
{
... access entity1 and entity2 here and evaluate business logics
}
}
在此答案中查看更多内容: https://stackoverflow.com/a/16589534/207661
答案 2 :(得分:4)
当我是一个git新手(并且害怕终端)时,我发现最简单的方法是:
答案 3 :(得分:0)
如果要从特定目录递归执行:
git checkout -- ./*
git checkout -- mydir/*