git 捆绑一系列提交
git bundle a range of commits
在 Github 上,我从一个名为 RepoBase 的存储库 fork 到一个名为 RepoForked 的私有存储库。然后,我在 RepoBase 上创建了一个本地分支 MyLocalBase 并对其进行了 5 次提交。
我现在想捆绑我在 MyLocalBase 分支中所做的最后 5 次提交,并在 RepoForked 分支中取消捆绑。我该怎么做?
自然的解决方案是添加一个遥控器并推送:
git remote add RepoForked ../path/to/repoForked
git checkout MyLocalBase
git push RepoForked MyLocalBase
但是,如果你必须使用 git bundle
:
cd RepoBase
git bundle create file.bundle MyLocalBase
cd /path/to/RepoForked
git remote add RepoBase /path/to/file.bundle
git fetch RepoBase
git checkout -b MyLocalBase RepoBase/MyLocalBase
因此,您无需直接推送,而是从包中获取(它充当 git 存储库,但将自身呈现为一个文件)
在 Github 上,我从一个名为 RepoBase 的存储库 fork 到一个名为 RepoForked 的私有存储库。然后,我在 RepoBase 上创建了一个本地分支 MyLocalBase 并对其进行了 5 次提交。
我现在想捆绑我在 MyLocalBase 分支中所做的最后 5 次提交,并在 RepoForked 分支中取消捆绑。我该怎么做?
自然的解决方案是添加一个遥控器并推送:
git remote add RepoForked ../path/to/repoForked
git checkout MyLocalBase
git push RepoForked MyLocalBase
但是,如果你必须使用 git bundle
:
cd RepoBase
git bundle create file.bundle MyLocalBase
cd /path/to/RepoForked
git remote add RepoBase /path/to/file.bundle
git fetch RepoBase
git checkout -b MyLocalBase RepoBase/MyLocalBase
因此,您无需直接推送,而是从包中获取(它充当 git 存储库,但将自身呈现为一个文件)