在git中重命名文件

在git中重命名文件,git,Git,我已将两个文件签入GitHub: index.html backup.html 现在我想将backup.html重命名为index.html,反之亦然。我并不真正关心维护每个文件的更改历史记录。如何在Git中执行此操作?这将包含历史记录: git mv backup.html backup2.html git mv index.html backup.html git mv backup2.html index.html 如果没有历史记录,只需在文件系统中根据您的喜好重命名文件。使用git m

我已将两个文件签入GitHub:

  • index.html
  • backup.html

  • 现在我想将
    backup.html
    重命名为
    index.html
    ,反之亦然。我并不真正关心维护每个文件的更改历史记录。如何在Git中执行此操作?

    这将包含历史记录:

    git mv backup.html backup2.html
    git mv index.html backup.html
    git mv backup2.html index.html
    

    如果没有历史记录,只需在文件系统中根据您的喜好重命名文件。

    使用
    git mv
    并将第一个文件移动到临时名称,然后将第二个文件移动到第一个文件,最后将临时文件移到第二个文件。

    您不需要做任何特殊的操作,因为您没有添加任何要跟踪的新路径

    您只需移动文件并使用
    git add
    更新其内容即可

    mv index.html tmpname
    mv backup.html index.html
    mv tmpname backup.html
    
    然后:

    或:

    或:


    请注意,
    gitmv
    没有做很多特殊的事情。这或多或少是Charles Bailey答案的快捷方式。git mv确实保留了重命名文件的历史记录。没错,但Charles Bailey的答案也是如此。它不像svn那样有可能保存历史,或者没有。Git总是在可能的情况下保存历史。@MatrixFrog我知道,事实并非如此。历史可能会保存在某个地方,但您无法通过二进制文件或在某些特定情况下轻松找到它。这不仅仅是“可能的时候”-。
    git add index.html backup.html
    
    git add -u
    
    git commit -a -m "swap backup.html and index.html"