A great tool to fool yourself and others
FakeGit is a great tool to fool yourself and others, it will modify your local git config file, deceive git to recognize the committer as somebody else.
You can use it on your own project or any repository, if you have push privilege.
For example, the father of jQuery and the father of PHP is committing with a funny slogan, with my great respect and no offence for sure.
Those are real commits and will be recognized by Github and almost any git hosting websites as a user of one, if such user exists.
git clone https://github.com/hanbang-wang/FakeGit cd FakeGit python setup.py install
Or use pip:
pip install fakegit
fakegit <command> [--user] [--help|-h]
FakeGit passes all your arguments into original Git cli, except for the following:
change Change your local identity for ever recover Quickly delete 'user' params in your local git config file --help, -h A brief guide
FakeGit intercepts --user with exact one arg following, which is the committer’s identity.
For exact input, use name <email> format, for example:
--user 'John Doe <firstname.lastname@example.org>'
or if you want to keep the email blank, just keep it blank:
--user 'No Email <>'
I also provided a quick identity lookup for Github users, fill in name only:
fakegit commit -a -m "A example." --user hanbang-wang"
It will use Github API with the id hanbang_wang, which is me, lookup my commits history and my commit email, generating a format like SuperFashi <email@example.com> , use it to make commit messages.
But I recommend to specify a user info:
fakegit commit -a -m "A example." --user "SuperFashi <firstname.lastname@example.org>"
of course you can use any git command by FakeGit:
fakegit push --user "whateveryoulike <>" # same as `git push`
But it would not make any difference, since only the commit command will use user params.
fakegit change will change your local identity for ever, therefore it must followed by --user, or it will throw an error.
fakegit recover is a quick tool for you to delete user params in your local git config file, in case of tired being someone else, or need a reset after a force quit.
License & Something
This little project is unlicensed, check LICENSE file for more information. But you should read the following carefully:
This project has something to do with others identity, so you may end up becoming an identity thief or harm the reputation of others or anything illegal may happen.
I do not take any responsibility, as I hope this project will only use for harmless jokes, educational or research purpose.