gpt4 book ai didi

git merge 或 merge 同一分支和同一存储库中的两个文件

转载 作者:行者123 更新时间:2023-12-04 18:05:21 26 4
gpt4 key购买 nike

我有这样一种情况,有人在一个文件夹中启动了一个文件并进行了几次提交,然后在另一个文件夹中提交了一个副本并进行了更多提交。我想将这些文件 merge 或组合成一个文件并保留历史记录。

第二个副本较新且正确,但在错误的文件夹中。旧文件可以被新文件覆盖。

我可以复制和粘贴内容,但我会丢失历史记录。

最佳答案

git rm <good-location/file>
git commit -m 'Removing bad file from good location'
git mv <bad-location/file> <good-location/file>
git commit -m 'Moving file to correct location'

执行此操作后,以下命令将显示相应的历史记录。

git log --follow -- <good-location/file>

使用 -C<some number>%参数以增加跨副本跟踪文件的机会。请参阅 diff 的 Git 文档, log , 和 blame更多详情。

如果您使用的是 GUI,例如 Eclipse 的 Git 插件,这可能会按预期工作。

您无法强制 Git 在提交时识别副本。 Git 只存储快照,但具有非常好的事后启发式,至少在命令行上是这样。

一些示例用法和输出:

$ git log --format="%h" master.. --name-status  -M100% --follow  -- temp3
0d15571

R100 temp10 temp3
e55bab3

M temp10
6f16545

M temp10
0a849e3

M temp10
1a06161

C100 temp3 temp10
95c8a20

A temp3

关于git merge 或 merge 同一分支和同一存储库中的两个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27850405/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com