我正在尝试将非常老的svn
存储库迁移到git
并重新排列目录结构。最初svn
存储库的结构是这样的。
A期
application/
.svn
dev/
dev1/
dev2/
test/
test1/
test2/
others/
others1/
others2/
几年来,结构变成了类似的东西。
B期
application/
.svn
dev1/
dev/
test/
others/
dev2/
dev/
test/
others/
的内容
dev2目录也进行了相同的移动。
现在,我已使用git
将源代码移至git svn clone
,并保留了所有提交历史记录。当前目录结构是这样的。
阶段C
application/
.git
dev1/
dev/
test/
others/
dev2/
dev/
test/
others/
现在我想将此存储库拆分为两个新的存储库
阶段D
dev1/
.git
dev/
test/
others/
dev2/
.git/
dev/
test/
others/
我已经这样尝试过git filter-branch subdirectory-filter
。
git filter-branch --subdirectory-filter dev1 --prune-empty
成功创建了我想要的目录结构,保留了dev1的所有提交历史,直到Stage B
中提到的动作为止。 Stage B
中提到的移动之前的所有提交都将丢失。
我要实现的是创建Stage D
中提到的目录结构,并维护dev1
和dev2
中存在的所有文件的所有提交历史记录。
重要:dev1
和dev2
中存在的大多数文件甚至在创建dev1
和dev2
之前就已创建-这些文件稍后移至dev1
/ dev2
。
答案 0 :(得分:0)
我认为您应该从阶段C -const image = document.querySelector('.my-image');
fetch('flowers.jpg').then(function(response) {
return response.blob();
}).then(function(blob) {
const objectURL = URL.createObjectURL(blob);
image.src = objectURL;
});
VS
var image = document.querySelector('.my-image');
fetch('flowers.jpg').then(function(response) {
return response.blob();
}).then(function(blob) {
var objectURL = URL.createObjectURL(blob);
image.src = objectURL;
});
和dev1
创建2个存储库副本。然后从存储库dev2
中删除目录 dev2 ,并从存储库dev1
中删除目录 dev1 。然后在两个存储库中将所有子目录上移一个级别,并删除目录 dev1 和 dev2 。
dev2
对cp -a repo_c dev1
cp -a repo_c dev2
cd dev1
git rm -rf dev2
cd dev1
git mv * ..
cd ..
git rm -rf dev1
git commit -m "Restructure repository"
重复相同的操作,以交换 dev2 和 dev1 。