You don't need to. Sometimes if something occurs somewhere obscure, you may be better off leaving it. Having a text file listing bugs is good, as is being able to mark up code with comments. I like to use [??] in Inform, to say it's a big question.
However, the best solution is an issue tracker. Many are free, and they may have source control, but you don't need to use that. You just need to report an issue. You can leave it there for a while. This is actually a good thing--a text file of issues doesn't let you know how long something's been sitting there, while an issue tracker can help you adjust severity or scope. An example of high severity low scope is a runtime error that doesn't happen all the time in a side quest. An example of high scope low severity is a debug message that prints out after examining something.
My issue tracker of choice is bitbucket.org. People can write issues anonymously, and this is an especially big help with small typos. If someone is wondering if they should send an email just yet, they can just write a typo issue and be done with it. Then you can maybe have it fixed before they have a full transcript. Similarly for if they find a runtime error at the start of play.
Issues don't have to be concrete. It could just be "this puzzle feels wobbly" or "I need to clean up the text here" or "spell check the source code at respelt.com or with notepad++."
They could also be bigger-picture, like "reorganize/comment the source code" or "check for all instances of (word X)" or "make sure character is gender neutral."