Git’s notoriety revolves around the fact that it is a distributed version control system and that is made possible because of branching. In Git, branches keep a record of the code a developer commits to differentiate it code previously designated as the code to be shared. A distributed version control system allows users to ship a master version of the software they are developing and retain a private version to develop different features on branches. The mastery of branching and merging have been my focus the past couple of days.
At first, it was difficult for me to grasp Git commands. I love working from the command line, but working with Git branching commands were not intuitive to me at all. However, after some visualization by drawing out what each command does on my white board and practicing them with repetition, they finally all stuck. I’m very comfortable setting up Git on a machine that doesn’t have it, creating repositories, setting up remote repositories, branching, and merging. I look forward to using Git to empower me and to be more in control of my workflow.
I do have one gripe about Git. In my opinion, if there is a command to create and checkout to the new branch, there should also be an option to merge and delete a branch as well. I understand that if such a command did exist and it was used carelessly, the results could be catastrophic. For those of us that are careful, however, it would save a lot of time.
Until next time!