如何将git标记删除并将新文件作为文件移动?

我手动移动了一个文件,然后修改了它。 根据Git,这是一个新文件和一个被删除的文件。 有没有办法强制Git将其视为文件移动?


如果您的修改不太严重,Git会自动检测移动/重命名。 只是git add新文件,并git rm旧文件。 然后git status会显示它是否检测到重命名。

此外,为了在目录周围移动,您可能需要:

  • cd到该目录结构的顶部。
  • 运行git add -A .
  • 运行git status以验证“新文件”现在是“重命名”文件
  • 如果git状态仍显示“新文件”而不是“重命名”,则需要按照Hank Gay的建议进行操作并修改两次单独的提交。


    在单独的提交中执行移动和修改。


    这都是一种感性的东西。 Git通常比较擅长识别移动,因为GIT是一个内容跟踪器

    所有真正依赖的是你的“统计”如何显示它。 这里唯一的区别是-M标志。

    git log --stat -M

    commit 9c034a76d394352134ee2f4ede8a209ebec96288
    Author: Kent Fredric
    Date:   Fri Jan 9 22:13:51 2009 +1300
    
    
            Category Restructure
    
         lib/Gentoo/Repository.pm                |   10 +++++-----
         lib/Gentoo/{ => Repository}/Base.pm     |    2 +-
         lib/Gentoo/{ => Repository}/Category.pm |   12 ++++++------
         lib/Gentoo/{ => Repository}/Package.pm  |   10 +++++-----
         lib/Gentoo/{ => Repository}/Types.pm    |   10 +++++-----
         5 files changed, 22 insertions(+), 22 deletions(-)
    

    git log --stat

    commit 9c034a76d394352134ee2f4ede8a209ebec96288
    Author: Kent Fredric
    Date:   Fri Jan 9 22:13:51 2009 +1300
    
        Category Restructure
    
     lib/Gentoo/Base.pm                |   36 ------------------------
     lib/Gentoo/Category.pm            |   51 ----------------------------------
     lib/Gentoo/Package.pm             |   41 ---------------------------
     lib/Gentoo/Repository.pm          |   10 +++---
     lib/Gentoo/Repository/Base.pm     |   36 ++++++++++++++++++++++++
     lib/Gentoo/Repository/Category.pm |   51 ++++++++++++++++++++++++++++++++++
     lib/Gentoo/Repository/Package.pm  |   41 +++++++++++++++++++++++++++
     lib/Gentoo/Repository/Types.pm    |   55 +++++++++++++++++++++++++++++++++++++
     lib/Gentoo/Types.pm               |   55 -------------------------------------
     9 files changed, 188 insertions(+), 188 deletions(-)
    

    git帮助日志

       -M
           Detect renames.
    
       -C
           Detect copies as well as renames. See also --find-copies-harder.
    
    链接地址: http://www.djcxy.com/p/22651.html

    上一篇: How to make git mark a deleted and a new file as a file move?

    下一篇: Preferred way to check object property is `null` or `undefined`