Our mind is constantly chattering with many thoughts, emotions and feelings in a day. To meditate is to be present and aware of these thoughts and feelings as they appear in the field of consciousness (that we call the mind). This awareness helps us recognize and appreciate how we operate. For me, meditation helps bring order and clarity through the chaos. It helps me understand how my thoughts shape my actions.
I have many thoughts and ideas while I sit down to code. Here, Git comes in handy as a tool to structure and channel these thoughts. I cannot help but see parallels between Git and our daily life.
An online repository that acts as the server. This is the consciousness of the code. It is available everywhere and every time. It is a blank canvas to begin with. It is shaped by the branches of thoughts and actions that we commit. We continue to maintain and update it during its lifetime, to serve us.
We nourish our mind and body to serve our goals and existence.
git checkout main
The ‘main’ branch is the spine and the breath to come back to, commit, and push to the consciousness of code. The branches of thoughts developed and committed to ‘main’ govern what our repository will serve.
The thoughts that we engage with influence our actions. We must decide how we want to act and be of service.
git branch somanythoughts
Our mind is running wild with ideas, quick fixes, tasks and more. Notice them without attachment first. Do not try to engage with them all at the same time. Allow the thoughts to flow without judgment.
Recognize what my ‘main ’branch intends to do. Observe each thought with this lens. Can this new thought improve the consciousness of my code? Can it help me achieve my goals? If the answer to any of this is yes, start working on them. Put in the effort. Get to work on them, one at a time.
git checkout -b newthought
Start a new branch, switch to it and start working on it
Different branches of thoughts are often at work in parallel. Calm down, because you can operate on only one branch at any given moment in time.
Avoid multitasking. Make different branches if you need. Run with ONE at a time with a clear bias for action. Stage the work, commit regularly and track progress. Explore and tinker around. Don’t forget to have fun in this isolated environment. This is where the magic happens.
Do not let perfection be the enemy of progress. Develop and test. Assign some constraints that foster momentum in your work. Set Specific, Measurable, Action-oriented, Reasonable and Time-bound (SMART) goals. Take risks and keep working towards your goals. Make the constraints work for you.
git branch -d timetomoveonfromthisthoughtbranch
You are always balancing between cost, quality and time. Drop an idea when it doesn’t work or align with the goal of your ‘main’ branch. Do not get caught up. Do not get overly attached to an idea or thought that doesn’t serve you. Break free and reallocate your resources.
git checkout master && git merge acceptedthoughtbranch
Merge the new developments and work to your main branch
Come back to sitting tall and watching your breath. Accept the newly formed thoughts that have gone through development and testing. Evolve the consciousness. Become an updated version of yourself. Gather feedback. Maintain and update. Keep serving!
Our mind works like a huge distributed development team that’s working on multiple branches in parallel. When you’re meditating, you’re not looking to solve or plan tasks or dive deep into any branch. You’re going around for visits to all branches that appear and merely listening and paying close attention. You make decisions later with a clear mind.
Thanks for reading. Do you have more Git anecdotes that resonate with your life? Have you had moments while programming where you find parallels with other areas in your life, or the other way around?
Enjoyed this post? Never miss out on future posts Subscribe to Anil George's BlogShare on