Add gitignore & fix getopt side effect