1

An upstream branch (not master/default HEAD, if that matters) has a few updates I want, most other differences I don't.

First, I did git fetch -v upstream rather than pull since I don't want my local code (in my master branch) modified yet.

Doing git merge upstream/nonmaster would auto-merge lots of stuff I definitely do not want, removing many local files that never went upstream from my fork (because it's a different author/side project), etc.

Question, how can I get it to a state where git mergetool would launch my configured GUI (kdiff3) to allow me to choose which edits to keep from panels A(base)/B(mine)/C(theirs) in all changed files (some altogether missing in the upstream, but I definitely want to keep in my branch)?

Currently it returns "No files need merging", although git diff HEAD shows the differences, which evidently it would auto-merge. I don't want automatic; I want to choose what gets merged/changed, in most cases keeping my stuff the way it was.

I am okay with doing it one single file at a time...how please? Say, git checkout -m upstream/save -- README.md as a test file.

Several sources including a (related issue)[How to move a file back into the conflict state after conflict resolution? refer to variants of git checkout -m ...

However, still I face "No files need merging" and the conflict resolution is not forced after all, while git diff HEAD shows auto-merged changes I would mostly not want.

 git status; git diff HEAD

On branch master
Your branch is up-to-date with 'origin/master'.
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        modified:   README.md


diff --git a/README.md b/README.md
index 9a7e6a0..1be114b 100644
--- a/README.md
+++ b/README.md
@@ -21,22 +21,23 @@ Setup


-Before you begin, make sure you have `Python3` installed. Robinhood shell only works with python3. Some of the functionality is broken on python2.7 
+Download Robinhood Shell by downloading the zip file ([link](https://github.com/ploch/RobinhoodShell/archive/dev.zip)) OR by using git 

-1. Download Robinhood Shell by downloading the zip file ([link](https://github.com/anilshanbhag/RobinhoodShell/archive/dev.zip)) OR by using git 
+=======

 ```
-git clone https://github.com/anilshanbhag/RobinhoodShell.git
+git clone https://github.com/ploch/RobinhoodShell.git

COROLLARY (possibly?)

How in the git piping can we manually make conflict markers, where otherwise git merge would think it's done its job automatically?

Marcos
  • 4,796
  • 5
  • 40
  • 64

0 Answers0