I have an issue where someone unstaged changes during a merge, and left 
them unstaged after they resolved the conflicts, they committed with the 
files unstaged, and pushed to remote.  They were merging their local branch 
with the remote version of the branch and ended up silently reverting all 
the changes from their last pull to their merge point.  This was difficult 
to find because using git show/log didn't reveal they had done any reverts 
during the merge.  We finally found it using bisect and then running git 
diff to the parents of the commit.

Anybody have ideas how we can prevent these mistakes?  While we are going 
to do more training, a hard stop that wouldn't even let these make it to 
remote would be preferred.

I've replicated this using git add --interactive then reverting a files 
changes though the actual crime was done using egit staging tool.  It seems 
the command line won't let you unstage changes but gui tools and 
interactive tools seem to allow it.

You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To view this discussion on the web visit 
To post to this group, send email to git-users@googlegroups.com.
To unsubscribe from this group, send email to 
For more options, visit this group at 

Reply via email to