Wednesday, 19 April 2017

[Git] how to merge a file from one branch into current branch

Scenario:
  • A branch (newbranch) is created and some update on this branch
  • Later you want to merge the changes made to a specific file (thefile) on  newbranch to another branch (oldbranch)
Steps:
  1. If current working branch is oldbranch, go to Step 4. Otherwise, go to Step 2
  2. Clone master branch
  3. Fetch all branches and create local branches to track all remote branches (following this post
  4. Switch to oldbranch, $ git checkout oldbranch
  5. Merge by $git checkout --patch newbranch relative_path/to/thefile
    • Apply this hunk to index and worktree [y,n,q,a,d,/,j,J,g,e,?]?
    • The meaning of each is given with the help of $ git add --help
patch
           This lets you choose one path out of a status like selection. After choosing the path, it presents the diff between the index and the working tree file and asks you if you want to stage the change of each hunk. You can select one of the following options and type return:

               y - stage this hunk
               n - do not stage this hunk
               q - quit; do not stage this hunk or any of the remaining ones
               a - stage this hunk and all later hunks in the file
               d - do not stage this hunk or any of the later hunks in the file
               g - select a hunk to go to
               / - search for a hunk matching the given regex
               j - leave this hunk undecided, see next undecided hunk
               J - leave this hunk undecided, see next hunk
               k - leave this hunk undecided, see previous undecided hunk
               K - leave this hunk undecided, see previous hunk
               s - split the current hunk into smaller hunks
               e - manually edit the current hunk
               ? - print help

No comments :

Post a Comment