'rm'+'svn update'等同于Git?

n17*_*911 6 svn git

在svn工作目录中,我可以

  1. 在工作目录中的文件中进行一些更改
  2. 删除'rm在该目录中的所有源文件所做的所有更改,但保留我的.svn目录)
  3. 使用'svn update'检索主干所应的内容,svn会将所有源代码下载回我的工作目录.

在git中有一个等效的命令吗?你能告诉我怎么做吗?

Von*_*onC 9

git reset --hard
Run Code Online (Sandbox Code Playgroud)

这是" git reset --hard HEAD" 的同义词应该是你要找的.

请谨慎使用它,因为它会有效地删除工作目录中的任何当前更改.请参阅" 在Git中撤消 "

注意:正如Charles Bailey在评论中提及的那样,在他的回答中,这不会删除未跟踪的文件.
对于那个git clean是正确的工具.请参阅他的答案以获取更多信息,还要查看SO问题" 如何从git工作副本中删除未跟踪文件? "或Git-Ready文章" 清理未跟踪文件 ".

所以,如果我们想进行一次重大清理:

$ git clean -n -d -x
Run Code Online (Sandbox Code Playgroud)

该命令将清除项目文件下列出的.gitignore文件,以及删除不必要的其他文件和目录.
在运行git clean时一如既往地使用预防措施,并确保仔细检查你真正删除的内容.

请注意,您可能希望移动未跟踪的文件.