git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Merging two Git-Repositories

From
Stephan Beyer <s-beyer@gmx.net>
Date
Dec 17, 2019, 20:13 UTC
Message-ID
<a909ac32-c94a-fb17-ca4d-13e6ea42cc34@gmx.net>
In-Reply-To
<trinity-c6dbf360-5abe-43df-8428-85514195a7a6-1576574916643@3c-app-gmx-bs62>
On 12/17/19 10:28 AM, Steve Keller wrote:
> Is it possible to merge one Git-Repository into another?  I have
> developed two independent repositories A and B, and now I find that
> B should be part of A in new sub-directory, e.g. A/B.  I want to
> move B into A while keeping the whole development history of B.

If I get you right, you want a simple merge of two branches with no common ancestors. Here's a line-by-line sh example with project A in directory A and project B in directory B, and B will be merged into a subdirectory "project-b" in A:

  # change to B's directory
  cd B
  # create the subdirectory where B's files will be in A
  mkdir project-b
  # move all files into project-b
  git mv -k * project-b
  # probably check if this worked for you
  ls
  git status
  # commit
  git commit -m "Move all files into subdirectory for inclusion into A"
  # change to A's directory
  cd ../A
  # fetch and merge B into A
  git pull --no-rebase --allow-unrelated-histories ../B
  # ... change commit message to something more meaningful ...
That's it.

If B is public you might want to replace its last commit by some commit that adds a note that further development is going on in A.

Stephan
Previous: Jared Tobin
Message 4 of 4 in “Merging two Git-Repositories”
  1. Steve KellerDec 17, 2019
  2. Roger GammansDec 17, 2019
  3. Jared TobinDec 17, 2019
  4. Stephan BeyerDec 17, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.