如何将git标记删除并将新文件作为文件移动?
我手动移动了一个文件,然后修改了它。 根据Git,这是一个新文件和一个被删除的文件。 有没有办法强制Git将其视为文件移动?
如果您的修改不太严重,Git会自动检测移动/重命名。 只是git add
新文件,并git rm
旧文件。 然后git status
会显示它是否检测到重命名。
此外,为了在目录周围移动,您可能需要:
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`