我想将一个提交推送到新的远程
我的本地日志:A - > B - > C - > D其中A是初始提交
推送本地存储库的常用工作流程:
git add remote origin ...
git push -u origin master
或git push -u --all origin
我的远程日志:A - > B - > C - > D
git push -u origin A:master
不起作用 - 为什么?
由于人们对为什么
感兴趣
Gitlab不会在初始提交时触发推送事件Web挂钩(不确定是否有错误或功能..)
答案 0 :(得分:1)
只需创建一个新存储库:
cd ..
mkdir -p newrepo
git init
cd ../oldrepo
git fast-export master~1..master | (cd ../newrepo && git fast-import && git checkout)
然后将遥控器添加到第二个存储库:
cd ../newrepo
git remote add origin someremote
git push --all
git remote add old ../oldrepo
git fetch old
git merge old/master
git push
您当然也可以过滤分支等。
答案 1 :(得分:1)
cherry-pick
和merge
不是最佳解决方案,但现在可以使用。
mkdir newRepo
cd newRepo
git init
git remote add old ../oldRepo
git remote add origin <remote repository>
git fetch old
git cherry-pick <commit SHA>
git push -u origin master
git merge old/master
# merge by hand if neccessary
# git add <manually merged files>
git commit
git rebase
# check result
git log --oneline
git push origin master