I don't know the detail of git internal. Or my email subject description have some problem. I just want to combine some commits to one commit and push combined commit to remote. And at same time, keep commits history at my local repository. Rebase will make original history lost. -----Original Message----- From: Junio C Hamano [mailto:gitster@xxxxxxxxx] Sent: Monday, December 08, 2008 11:00 AM To: Li Frank-B20596 Cc: git@xxxxxxxxxxxxxxx Subject: Re: Can Git push only first parent history commits? Your drawing nor explanation unfortunately does not make much sense to me, so I'll respond only to the subject. Pushing only first parent history would mean that the commits you will be transferring will still record their true parents, but you are not sending any parents but the first ones. The repository that receives such a push would not pass fsck, in other words, you are deliberately corrupting the repository. Naturally we won't support such an operation by default. It is plausible that you can implement an option to do so, but it would make it hard at the receiving end to tell between a true repository corruption and a corruption you are deliberately introducing by such a push, so it won't be useful unless accompanied by a corresponding option to fsck to make it not complain when parent commits and associated objects that are not necessary for first parent history. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html