first commit
git config core.ignorecase false
Rename via explorer contexn meanu (not TortoiseGit)
Commit it (NOTE: Only one item in list)
Check log (NOTE: status of Abc.txt is Added
, not rename)
Create test branch and checkout it
Problem here: file is not checkout, the status is Deleted
So Revert it. Then, abc.txt in working tree:
Modified the abc.txt, and commit it.
Check log:
Checkout master, but failed. (in Windows)
So, delete abc.txt file.
Then, checkout master again. the result:
Merge.
Merge is ok.
But the result(the following 2 screeshots) is not wanted.
The frist, the working tree is not clean.
Try to revert it, but show abc.txt is modified this time.
Suppose the core.ignorecase shlould be not set to false.
Reset hard master
Confirm with browser repository
set back
git config core.ignorecase true
Delete the files and the log
Reset hard again
Problem 1: abc.txt is checkout, but Abc.txt is not.
Problem 2: working dir changes is clean
Delete the files again.
Revert Abc.txt
The Result: (but see next step)
Press F5 to refresh:
Problem 1: still one is working tree, the other one is gone.
Problem 2: working dir changes is clean
Delete the file again. (The 3rd times)
Open Commit dialog
Uncheck wanted item and commit
Revert wanted item
Revert result
Try mrege again
Oops! conflict.
Abort Merge. (Tried some resolve method, but failed.)
Checkout test branch
Using TortoiseGit's Rename
Commit
Now, checkout master and do merge again.
Merge OK.
The story is not finish...
What if I want to keep both file?
What if one user add abc on his own branch and other one user add Abc on his own branch? (abc and Abc is a different content)