I've begun trying to contribute to a large (ten million or so lines of C++), famous open-source project by supplying small bugfixes in my free time. The project is managed with Git, which I'm completely new to. I've tried to find information on how best to use it, but all I can seem to find is complicated religious arguments over trivia like whether to use git fetch
or git pull
. Could anyone tell me, very simply, what commands I need to execute in order to facilitate the following workflow?
- Checkout the full source.
- Begin working on some feature or bug fix
- Continue checking out the full source daily and merging my changes so far with it.
- Generating a patch with all the differences between my tree and the remote master repository
- (When necessary) rolling back any changes since my last commit
- (When necessary) rolling back any differences between my tree and the remote master repository