I’ve been doing web development professionally for over 6 years now, but only three of those years were with a team of other developers/designers. Because I was so used to developing solo, working by myself on one project at a time, my flow didn’t matter so long as it worked for me. When I started really getting serious about development and started reaching out to other developers I found that I was very much behind in the world of workflow.
Way back when, when I didn’t really know any better, I used to develop late at night on live websites so that if I broke something, I wouldn’t potentially lose a website viewer. I know now how ridiculous that is, but it’s what I did. The truth is that things like SVN and git scared the living daylights out of me because the community around it seemed so closed off. It felt like a special club that I wasn’t invited to be a part of. Every time I tried to ask a developer friend to give me a quick overview the person would start off with something that sounded so complex that I just zoned out. I couldn’t wrap my head around the “basics” so why bother trying to dig in deep?
Since git was off the table for me for a while, I decided to make the jump to local development. I found the err of my ways with developing live and realized that I could run my very own web server privately from my computer. I went through the steps of installing XAMPP and in the process learned more about the inner workings of the web servers I used every day. It was really rewarding to be able to launch my first php website from my desktop! (it’s the little things, folks.)
Developing locally and then pushing live served me well for a while since I was literally coding in my own personal bubble. Merging code and making sure no one else overwrote my work or I didn’t overwrite someone else’s didn’t affect me at all, so I just kept plugging along. It was working, and I was happy.
Then came a collaborative project that absolutely required the use of GIT. I suppose it was time for me to stop being a baby and grow up in the development world. Even revisiting it after all of that time and all of those new experiences still gave me the chills. I had no idea where I was going and only armed myself with google and github. It wasn’t until I found the #git IRC chatroom when I really was able to find my way. I had some nice people give me the “absolute total dummies” version of what git is and then it started to make sense to me.
I took the leap and created a github account and installed it on my computer. I still was completely clueless as to what I was doing, but thankfully my project collaborators walked me through the basics of git and so long as I was not in charge of merging the pull requests, I was completely happy.
Then, I was in charge of merging the pull requests. It was my own project and it only made sense for me to manage it. Yikes. I felt the same fear all over again, as though I had never touched git before. I feared overwriting everyone’s work and kept checking and double checking to see if the git commands I ran “worked”. I wasted a lot of time checking and double checking but in the end it all worked out.
Now that I have local development, an online development server for sharing public in-progress projects with contributors and clients, and git I feel like I am finally playing in the big kid’s league. Not only do I have this sense of satisfaction as having tackled something that scared me, but I have also seriously organized my development life. Now I don’t have to yell across my studio to ask “Are you working on that style.css file right now? Or can I open it to make some changes?” to one of the developers here. In hindsight, that was probably the stupidest thing ever in the history of ever. But.. I guess.. this is Web Design For Idiots after all, so whatever.
If you’re at that point and have that same pit in the middle of your stomach about learning git , check out these resources that helped me out.
- The Complete Practical Guide to git
- Github for beginners – don’t be scared
- Github Intro
- Sourcetree – a UI for GIT (mac & windows) – free
- The GIT community
Feel free to ask questions here as well. I will do my best to help you out and steer you in the right direction. I know it’s a hard concept to wrap your head around when you’re just starting out. No question is too stupid!