使用git reset保留重命名--混合

ssgvzors  于 2023-05-27  发布在  Git
关注(0)|答案(2)|浏览(137)

当我在使用git mv的分支上使用git reset --mixed时,重命名被delete和recreate替换。
有没有办法避免这种情况?

ep6jt1vc

ep6jt1vc1#

尝试使用soft代替mixed

git reset --soft <commit>
git commit -m "Preserve renames"

它将分支指针移动到特定的提交,而不修改暂存区或工作目录。这意味着它会将您所做的更改(包括重命名)保留在临时区域中。

hjzp0vay

hjzp0vay2#

在git中,“rename”和“deleted + added”没有区别。
如果您更仔细地查看重置后发生的情况,您应该会看到git status提到删除了一个 * 跟踪的文件 *,并出现了一个 * 未跟踪的文件 *。
如果您知道一个单独的重命名并运行:

git add <old_name> <new_name>

git status show现在指示已暂存 rename

相关问题