简体   繁体   中英

Viewing changes to deleted files in git during rebase

the question is basicaly the same as Viewing changes to deleted files in git but for a rebase rather than a merge.

So :

Let's say that when I branch off from master, there's a file colors.txt on the master branch of my repo with these contents:

red
green
blue
yellow

I then branch off into my-branch, in which I make the following changes:

  1. Delete colors.txt
  2. Add red.txt with these contents:
red
  1. Add green.txt with these contents:
green
  1. Add blue.txt with these contents:
blue
  1. Add yellow.txt with these contents:
yellow

Now, I know some other guy have been doing modification in this file on master, so before going further I decided to rebase onto master. The file colors.txt has been modified to:

red
green
blue
yellow
orange
purple

During my rebase, the only information I get is that I deleted the file colors.txt

deleted by them: colors.txt

the fact that the message is deleted by them is already confusing, but that's not the question

So how can I see the changes that have been made to the file on master so I can appropriately resolve the conflict (in this case, by adding the files orange.txt and purple.txt)?

I can't use the solution of the linked question because they are merge specific.

so I came up with an alias:

[alias]
deleted-diff = "!git diff \"$1\"..$(git merge-base \"$1\" \"$2\") -- \"$GIT_PREFIX$3\" #"

Usage:

git deleted-diff $1 $2 $3

$1 is the branch on top we are rebasing

$2 is the branch actually rebased

$3 is the name of the file

for your records:

the \\" are used to be procted from dangerous file name or space into them

$GIT_PREFIX allow the use of relative name for the file

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM