meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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>​