It was me all along!!!!!!!!!
Let me explain
The root of the problem is : using public computer to code. Well, dont you have a laptop ? I do but it is incompetent. My macbook ( 2011 version ) takes far too long to run a freaking x86 Android emulator( HAXM you fool told me you grants me hardware acceleration… )[ Apparently, 4GB of RAM is never enough. Will upgrade it soon]
Well, the main reason is bitbucket HTTPS authentication only authenticates with email; As long as one gives a right password it granted access. The real problem is that somebody is setting up Git’s global username and email, so when I checked in codes and passed the HTTPS authentication, git gracefully uses global user name and email to submit code( my case seems to be local username and password not setup). The shown author just happens to have a bitbucket account. That’s why it shows up as him but not me.
The fix is easy, after pulling new code, just remember to setup local user.name and user.email
git config --local user.email "firstname.lastname@example.org" git config --local user.name "your_user_name"
This way it will overwrite the global setting.
Lesson learned : Always check local properties and config. Global is for fall-back only, do not mess with it. But it is public computer anyway. Well, thank you stranger!!!!
Been stucking with the movie for long. It is so indulging
UPDATE(05/04/2016) : God, still creeping into my account even though I set local setting? Darn it.
Out of frustration, I am writing my commit script because I am lazy and could not put up with this crap anymore.
#!/bin/bash USER_NAME="" #username here USER_EMAIL="" #email here, this to fix the global setting stupidness COMMIT_MSG="" git status read -p "Enter commit message: " COMMIT_MSG echo "Commit message=[$COMMIT_MSG]" #git flow git add * git commit --author="$USER_NAME <$USER_EMAIL>" -m "$COMMIT_MSG" git push #to stop cmd from closing $SHELL