git如何重命名已经提交的已删除和已添加文件?

问题描述

我用Gerrit。 我首先创建了FooService->到BarService的副本,将其更改并提交。 后来我删除了FooService,将其提交。 FooService在gerrit中显示为已删除,在BarService中显示为已添加。 在合并更改之前,如何解决它,以重命名为FooService-> BarService可见?

解决方法

可能您在原始文件中进行了太多更改,因此Gerrit(Git)无法识别它。您可以将更改分为两个提交(Gerrit中的更改):首先,重命名文件,然后进行更改。

,

您应该使用适当的工具。

git mv命令非常有用。只需从命令行使用它即可:

git mv FooService BarService

这肯定会防止您遇到像您这样的问题。

恢复

要恢复已删除的文件(显然,此更改必须由GIT看到),只需使用:

git checkout HEAD FooService

这将恢复已删除的文件(更准确地说,它将把文件从以参数HEAD传递的修订版本更改为状态)。使用BarService-只需将其从系统文件中删除或使用git rm命令即可​​。

恢复后,使用git mv