将本地git仓库与远程仓库合并

恩贡

我有一个非常简单的远程git存储库:

*---*---(a)---*---(b, HEAD) (master)

我也一直在项目的本地仓库中工作,其初始状态对应于commit (a)之后的状态,并且具有许多分支:

(a')---*-------------*-----------* (my-master)
        \___________/___________/__ (my-dev)
         \______________..._______/ (feature, hotfix branches)

但是,无法正确获取本地存储库的初始提交(即,使用git命令),而是通过复制项目文件(因此命名为(a'),因为它对应于与(a)相同的状态,但与Git的观点不同观点)。现在,我想将我的本地更改与远程仓库合并,而且还要以某种方式将“本地仓库”的初始提交“绑定”到提交(a),以得到以下图片:

*---*---(a)---*-----------------------(b)-- (merge-commit, HEAD) (master)
          \________________________________/ (my-master)
                  \___________/___________/__ (my-dev)
                   \______________..._______/ (feature, hotfix branches)

最合适的方法是什么?

恩贡

感谢评论,我找到了适合我目的的解决方案。

# add remote repo and fetch it
git remote add repo <repo_addr>
git fetch repo

# create new branch for rebasing onto
# here 'a' is hash of the commit (a)
git checkout a
git branch my-huge-feature

# rebasing my-master branch onto my-huge-feature
git checkout my-master
git rebase my-huge-feature

# fast-forwarding my-huge-feature pointer
git checkout my-huge-feature
git merge my-master

完成这些步骤后,我将我的本地提交历史记录集成到远程回购历史记录中(省略了我的巨大功能)。

但是,rebase命令不会保存分支历史记录,因此远程存储库会将我的提交存储在单个分支中。尽管对我来说还可以,但是如果此答案提供了保留分支历史记录的方法,我将不胜感激。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将git仓库从原始仓库合并到上游仓库

来自分类Dev

将git别名推送到远程仓库

来自分类Dev

使用远程仓库git

来自分类Dev

替换远程 git 仓库

来自分类Dev

合并相关的Git仓库

来自分类Dev

部分git仓库合并

来自分类Dev

设置本地git仓库

来自分类Dev

如何告诉git忽略本地更改,但将文件保留在远程仓库中?

来自分类Dev

如何将本地文件夹合并到现有的git仓库中?

来自分类Dev

在Git仓库中合并两个远程分支

来自分类Dev

删除合并并在远程git仓库中提交

来自分类Dev

git bundle:双向分支在本地和远程仓库之间同步

来自分类Dev

git不能用本地文件覆盖远程仓库吗?

来自分类Dev

Git - 从本地和远程仓库中删除多个先前的提交

来自分类Dev

Git远程仓库显示冲突,但本地不显示冲突

来自分类Dev

我的朋友可以使用我本地的git仓库作为他的远程仓库吗?

来自分类Dev

远程仓库名称在 Github 中更改,但未通过 Git fetch 在本地仓库中反映

来自分类Dev

无法将远程分支发送到本地仓库

来自分类Dev

git pull与干净的本地仓库导致合并提交

来自分类Dev

将现有的远程仓库重新分配给我的本地仓库

来自分类Dev

远程控制git仓库

来自分类Dev

在本地仓库之外创建远程仓库,Pycharm

来自分类Dev

将单独的git仓库合并到一个由文件夹组织的仓库中

来自分类Dev

git-将一个仓库合并到master

来自分类Dev

如何防止本地文件与远程仓库同步?

来自分类Dev

使用GIT删除远程分支并重置本地仓库以匹配远程

来自分类Dev

如何使用本地git仓库填充github仓库?

来自分类Dev

将git仓库导入github

来自分类Dev

如何确定远程git仓库的URL?

Related 相关文章

热门标签

归档