无额外参数时Git自动修改提交作者的场景有哪些?
Git 未刻意修改作者时自动变更提交作者的场景
交互式变基编辑提交:如果对方用
git rebase -i选择edit你的提交,修改内容或提交信息后执行git commit --amend,没加--author参数,Git会自动用当前用户的配置替换原作者信息。这是和你场景最匹配的情况。变基解决冲突后的提交重建:rebase遇到冲突,对方手动解决后执行
git rebase --continue,Git会重建该提交。如果此时Git无法完整保留原提交的作者元数据,就会用当前操作用户的信息覆盖。无参数执行
git commit --amend:不管是不是在rebase流程里,只要执行git commit --amend却没指定原作者,Git都会用本地配置的user.name和user.email替换原提交作者。对方处理冲突时不小心执行这个命令,就会导致作者变更。合并时的提交压缩(squash merge):如果对方用squash merge把你的多个提交合并成一个,新提交的作者默认是操作人,而非原提交作者(不过提交描述里通常会保留原作者信息)。
自定义钩子或特殊配置:对方本地Git如果有自定义的提交/变基钩子,或者特殊配置项,可能会自动替换作者信息,但这种情况比较少见。
结合你说的对方处理rebasing和冲突的情况,大概率是前两种场景导致的作者变更。
内容的提问来源于stack exchange,提问作者Juarrow
相关产品推荐
相关产品推荐

