binarycreations
binarycreations

Reputation: 3181

Git - Merge branch from a different repository

I hope this does not seem to obvious. I have two git repository. We decided to split one branch from the first repoistry into a git sub module. Now I have been using this sub module, however people have been pushing commits to the first repository into the branch that was made into a sub module.

How can I merge the changes from the branch in the first repository into newly created second repository? (Which we now use as the sub-module)

I have tried adding another remote into the second repo and merging that branch across, using:

git remote add otherOrigin [email protected]:originalRepo.git
git merge otherOrigin originalBranch

However I get:

fatal: 'otherOrigin' does not point to a commit

Thanks

Upvotes: 7

Views: 4444

Answers (2)

Adam Dymitruk
Adam Dymitruk

Reputation: 129526

clone your repository. Now use filter-branch to just keep the changes to what should be in your submodule. add this repo as a remote of your submodule. fetch the branch from that new remote. Use git rebase --root --onto to "place" the changes to some point in the history of your submodule.

Hope this helps.

Upvotes: 1

VonC
VonC

Reputation: 1323145

If the two repos, for the given branch (the one split as a sub-module in Repo1, while being kept in Repo2), initially have a common history, then it should be possible, in theory, to:

  • split the branch in Repo2 as an individual repo
  • add that individual repo as a remote of the current submodule repo
  • try and perform the merge from there.

But that can quickly become a drag if you have to repeat that process on a regular basis (unless you can script it).

Upvotes: 2

Related Questions