Hi, some minor comments, in-line. On 13/01/2022 16:29, Colin Kennedy wrote: > Current syntax of git stash branch is: > > branch <branchname> [<stash>] > > Proposed syntax is: > > branch <branchname> [-f|--from <rootbranch>] [<stash>] Just to say that the `-f` is typically reserved/used for the --force option if available. > > the from flag specifies a branch from which the new branch should be derived. > > Example usage: > > git stash branch remove-commented-code --from main > > This simplifies a workflow which is common for me. I am working N-commits deep in some feature branch when I discover a low hanging fruit. Dealing with this low hanging fruit is not appropriate for the current feature branch. It's most appropriate to deal with "directly" on a fresh branch from main. Because I am untidy, Maybe an example that shows the level of untidiness might help to clarify the suggestion, as to what is included/not included, and how it makes it easy later when the stash is recovered. > I often have a bit of mess in between my staging area, and unstaged changes, and this creates friction when I attempt to stash this low hanging fruit, pop back to main, create the new branch, pop the stashed low hanging fruit, etc etc. > > The proposed flag gives a one-liner to apply stashed patches wherever, no matter your current location, which I think is an improvement. > > Happy to have feedback on the flag. Happy for someone else to implement it. Also happy to consider taking a crack at it myself if it seems like something people would be happy to include. (NB: I haven't written or even read any c, or c++ for that matter, in probably 15 years. So, you know). > > thanks, > Colin