meta data for this page
Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
git:merge [2016/06/16 13:18] niziak |
git:merge [2022/02/04 11:42] (current) niziak |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Merge another repo (RRR) into directory of repo (LLL) ====== | + | ====== merge ====== |
+ | |||
+ | ====== merge conflicts ====== | ||
- | Idea is to fetch remote repo RRR into local repo LLL | ||
- | Then modify file location of repo BBB to be in desired path and merge it into repo LLL. | ||
<code bash> | <code bash> | ||
- | git remote add RRR http://URI_to_RRR_repo | + | git checkout --ours PATH/FILE |
- | git fetch RRR | + | git checkout --theirs PATH/FILE |
- | git checkout -b branch_change_file_location RRR/master | + | |
- | + | ||
- | # now move files from remote repo RRR into correct path | + | |
- | + | ||
- | mkdir app_RRR | + | |
- | git mv src app_RRR/src | + | |
- | git commit -m "location of app_RRR adapted to local repo" | + | |
- | + | ||
- | # switch to LLL repo | + | |
- | git checkout master | + | |
- | # merge previously created branch "LLL/branch_change_file_location" into "LLL/master" | + | |
- | git merge branch_change_file_location | + | |
- | git commit | + | |
- | + | ||
- | # cleanup | + | |
- | git remote rm RRR | + | |
- | git branch -d branch_change_file_location | + | |
- | + | ||
- | # push merged master | + | |
- | git push | + | |
</code> | </code> | ||
- | ====== Detach(move) subdirectory into separate Git repository ====== | ||
- | [[http://stackoverflow.com/questions/359424/detachmove-subdirectory-into-separate-git-repository]] | ||
- | <code bash> | ||
- | # Split dir form repo | ||
- | pushd <big-repo> | ||
- | git subtree split -P <name-of-folder> -b <name-of-new-branch> | ||
- | popd | ||
- | # Create new repo | ||
- | mkdir <new-repo> | ||
- | pushd <new-repo> | ||
- | |||
- | git init | ||
- | git pull </path/to/big-repo> <name-of-new-branch> | ||
- | |||
- | # Link the new repo to Github or wherever | ||
- | |||
- | git remote add origin <git@github.com:my-user/new-repo.git> | ||
- | git push origin -u master | ||
- | |||
- | #Cleanup, if desired | ||
- | |||
- | popd # get out of <new-repo> | ||
- | pushd <big-repo> | ||
- | |||
- | git rm -rf <name-of-folder> | ||
- | |||
- | </code> | ||