[英]Git Rebase: Adding files after directory structure changed
我有以下场景:
我有 Repo1,我在 Repo2 中创建了它的副本,方法是克隆 Repo1,然后将原点更改为 Repo2。 到现在为止还挺好。 在 Repo 2 中否,我想创建一个 src 文件夹并将所有文件移动到其中,因此我们有以下情况:
回购1:
- file1
- folder1
-file2
回购2:
-src
- file1
- folder1
-file2
到现在为止还挺好。 不,当我将 Repo2 重新绑定到 Repo1并且 file1 已更改时,它会检测到这一点并将更改添加到 Repo2 的 src 文件夹内的正确 file1 中。
问题是当我在 Repo1 中添加一个文件然后 rebase 它没有检测到这一点并将新文件放在 src 文件夹之外。
关于如何解决这个问题的任何提示,以便顺利重新定位将成为可能?
非常感谢!
假设在Repo2第一个承诺,这不是在Repo1是移动文件到子目录:
git switch -c tmp repo-1/master
git rm -r *
mkdir src
git read-tree --prefix=src -u HEAD
move_commit=$(git rev-list repo-1/master..master | tail -1)
git commit --no-edit -c $move_commit
git rebase --onto tmp $move_commit master
git branch -d tmp
或者,如果您不坚持重新定位,则可以执行以下任一操作:
git merge -s subtree repo-1/master
git subtree pull --prefix=src repo-1 master
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.