How do I join two git repos without a common root, where all modified files are the same?

I have a git-cpan-init of a repo which yielded a different root node from another already established git repo I found on github C:A:S:DBI. I’ve developed quite a bit on my repo, and I’d like to merge or replay my edits on a fork of the more authoritative repository. Does anyone know how to do this? I think it is safe to assume none of the file-contents of the modified files are different — the code base hasn’t been since Nov 08′.

For clarity the git hub repo is the authoritative one. My local repo is the one I want to go up to git hub shown as a real git fork.

  • Found a swap file by the name
  • GitBlit Cant find Repositories after Jboss Restart
  • Why git can't do hard/soft resets by path?
  • fatal: unable to create 'refs/heads/master.lock': File exists fatal: - Getting this error while pushing the commits
  • Missing (obvious) buttons for Git in Netbeans
  • How to link a deployment script/repo from an application repo in Gitlab CD?
  • Git Flow: How to keep master log clean?
  • fatal: unable to get credential storage lock: File exists
  • Mirror a Git Repo directly to AWS CodeCommit
  • XCode does not find Swift bridging header file in some files
  • Undo part of unstaged changes in git
  • git: “not something we can merge” across all repos
  • 2 Solutions collect form web for “How do I join two git repos without a common root, where all modified files are the same?”

    You should be able to add a remote to your existing repository (using git remote add) so that you can fetch the contents of the github repository into your existing repository.

    Assuming that you have a commit in your history (call it O) and a commit in the remote branch (call it R) that correspond to the same set of files (e.g. they are both imports of the same release version), then you can just do an ‘onto’ rebase. Assuming you have the tip of your changes currently checked out:

    git rebase --onto R O             # R and O are sha1 ids (possibly abbreviated)

    This replays all of your commits since O onto the new R root commit.

    Once you’ve done this, if you are not up to date with the latest remote master branch you can use a normal rebase to get there and git’s history tracking will take care that your changes are applied in a way that makes sense.

    git rebase <remote_name>/master   # where <remote_name> is whatever
                                      # you called the github remote when
                                      # you used git remote add

    A Graft Point would help I think.

    Git Baby is a git and github fan, let's start git clone.