移动文件/目录但仍然是 merge 容易变化?

我读过各种各样的 FAQs, 什么
git

显然不跟踪 renames/moves,, 宁愿看起来相同 /或者在这样的某些情况下?/ 文件。 这很棒,但他会应对这种情况:远程朋友的存储库有一个新功能 /i18n/, 包括一些新文件
debian/po/*.po

. 我有我自己的 fork 这个项目和我想要 merge 这个函数,但我只放开文件
po/*.po

/我可以像你需要的两个提交或你所需要的一切/. 我希望远程仓库继续续订此功能,我只是想要 merge/cherry-pick 这些提交并将它们应用于新位置中的文件。 可能是
git

也许可以用某种展示 "这些文件现在在这里移动"? 或者比值得的痛苦更痛苦,我应该采取有点奇怪的方式
debian

在我的回购中?
已邀请:

江南孤鹜

赞同来自:

使用
git mv

, 一切都会 AOK.

为什么不尝试,而不是询问? 您可以随时轻易重置设置 git. :/

莫问

赞同来自:

Git 没有一个机制,指示您期望重命名和更新的机制

path

通过做 diff 两个项目之间/分支等

有各种重命名选项。

文件

/如-M和 - 表演/, 但它们可能很慢。

如上所述,重命名路径不会影响存储库本身,因为它只是您内容的快照 /Blob对象/ 和结构 /木头节点/. 如果您所做的只是添加了额外的顶级目录,那么下面的所有树和大型二进制对象都保持不变,并且需要零额外的存储。 你需要的东西, - 这是一个用于你的固定的树结。/犯罪/ 和一个新的两个树结。 很简单。 Git 随着这个部分而没有问题。

只有当您想要进行比较时才重要 /和任何补丁/. 拥有,说,这是很高兴的选择
-P

, 这表明你期望一些重命名的路径和什么
diff

所以它很容易应对。 看到的不是很好 200 文件删除I. 200 新文件 ;-/

了解如何添加选项 a-P, - 这是我的另一个列表项。 'to do' /我希望我会有一点时间/.

董宝中

赞同来自:

此外,重命名文件使用
mv

并打电话
git add --all

, 要执行所有删除操作并添加不合格的文件。 /新文件名/. 没有
--all

您必须单独显式执行删除删除操作和新文件名。 也不要使用
git add --update

, 由于这将导致所有删除操作的阶段,但不会添加新文件名。

请注意,您很可能希望在本地分支中执行这些操作,以免意外
push

他们到你朋友或你的朋友的主要分支不是
pull

他们在他们的主要分支机构。

要回复问题请先登录注册