So I have 3 branches: master, suggestFix and experimental. suggestFix points at the same place as master because I want to use master as a starting point to create pull request on GitHub. experimental has different commits, and I want to move to suggestFix branch only some lines of code from experimental.
I'll provide a concrete example. Here's final file on experimental branch:
And here are master and suggestFix branches:
I want my suggestFix branch to look like this after I do whatever is needed with git tools:
I understand that I will need to review every single line of every single file and either accept or reject edits of lines or how they are also called hunks of code. That's what I want. I use a mix of Atlassian Sourcetree and MINGW64. I managed to start some kind of diff on Sourcetree:
But it's not what I want. If I press on reverse hunk button, it removes all changes in experimental. I don't want to edit experimental at all. All changes should be made in suggestFix as if I edited master and got from master to suggestFix by inserting and removing lines in one commit.
Here's a GitHub repository with that specific example:
https://github.com/KulaGGin/GitPatch
Please help . It's the second day I'm trying to achieve this.
Hi @Sergei Kulagin,
Welcome to the Atlassian Community.
What you did in Sourcetree was just a diff between your current workspace and the branch you selected, and the output Window on the right shows that diff. Reverse hunk just means that you want to undo that commit.
What you are looking for is what is called cherry-pick, which allows you to pick specific commits from one branch when merging (this is all from the command line, it is not available in Sourcetree as an option). You can find more information about Git cherry-pick here, https://www.atlassian.com/git/tutorials/cherry-pick and you can find other good tutorials there too.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.