Use --first-parent log/show when looking at your history to get that clean 
"+1 feature" view.
But use the rebase/editing on the feature development branch to make that 
look clean (not to hide your mistakes, but to make it easier to understand 
and bug fix later),
and then merge with --no-ff set, adding a full commit message describing 
the feature (for the --first-parent log).

This gives best of both worlds. You have a clean feature add view, and  
clean details for feature debugging (and if you have even a small amount of 
'test driven bug fixing' ;-) then you can also use `git bisect` to locate 
(automatic) the _small_ detail commit that introduced the bug that fails 
the test.

Your one remaining choice is whether to keep rebasing features to the clean 
tip of main, or keep them as starting from the original start point 
(depends on how you manage the 'conflicts' during feature dev)

On Thursday, January 27, 2022 at 6:20:50 AM UTC shreyanst...@gmail.com 
wrote:

> Even if a branch and a commit bundle occupy the same amount of space, in 
> my opinion, commit bundles would appear much cleaner which is the whole 
> point of this anyways.
>
> Thanks
> On Thursday, January 27, 2022 at 11:30:58 AM UTC+5:30 Tassilo Horn wrote:
>
>> Shreyans Jain <shreyanst...@gmail.com> writes:
>>
>> Hi,
>>
>> > So I had an idea if git could have a feature that allows you to squash
>> > commits into a commit bundle which keeps the commit history clean
>> > while still maintaining a lot of the important verbose commit
>> > history. Just wanted some comments on this from the community.
>>
>> I think that would create the need for a lot of changes in many places.
>> But you can achieve what you want with what's there already. Say you
>> develop a feature on a branch features/feature-x which you push to
>> origin/features/feature-x. When you are done, you squash the commits on
>> features/feature-x (but don't push), add a note
>>
>> For dev history, see branch features/feature-x.
>>
>> to the commit message, and finally merge features/feature-x (not
>> origin/features/feature-x) into main or wherever it should be.
>>
>> Maybe it would be a good convention to rename the branch so that it is
>> immediately distinguishable from active branches, e.g., to
>> history/features/feature-x (and then link that in the squash commit's
>> message).
>>
>> Bye,
>> Tassilo
>>
>

-- 
You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/git-users/b6a6529f-1dd2-43eb-9afb-536b5dee38d7n%40googlegroups.com.

Reply via email to