Re: Stage, test, and commit only some changes, then repeat
Am 30.01.22 um 21:17 schrieb Géry Ogam:
Show 31 quoted lines
> Hello,
>
> I would like to stage, test, and commit only *some* changes of the working tree, and then repeat this process with the remaining changes.
>
> My current solution (published at https://stackoverflow.com/a/70914962/2326961):
>
> 1. Stage some changes:
> ```
> git add -p file
> ```
> 2. Save away the remaining changes:
> ```
> git diff >patch
> git stash push -k
> ```
> 3. Test the staged changes.
> 4. Commit the staged changes:
> ```
> git commit
> ```
> 5. Restore the remaining changes:
> ```
> git apply patch
> ```
> 6. Go to step 1.>
> It is not ideal because a) it uses a patch file for saving the
> remaining changes; b) it uses the stash only for setting the working
> tree to the index state.
>
> It would be ideal if I could save *only* the remaining changes in the
> stash instead of resorting to a patch file. How to do it?
For example:
1. Stage some changes
2. Commit
3. git stash
4. Test
4a. git commit --amend if tests show that the commit is not yet perfect
5. git stash pop
6. Goto 1.
Be prepared for conflicts in 5 if 4a was necessary.
-- Hannes