Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.Start your free trial
Jonathan GrieveTreehouse Moderator 91,252 Points
Git. Is it for me?
I know I've asked a similar question like this in the past. It concerns Git and using it regularly in my workflow.
The thing is; I don't. I have tried to get into habit of using it. It's not that I don't know the very basic commands in getting around the system. I have Git fully set up on my computer?
The fact is I've worked many many years blissfully unaware that Git even existed until last year when I tried the course for the first time. I can't but feel like I don't really need to use it. I get around just fine using my Windows explorer to manage my files. I don't mean this in a snobbish way, at the moment I just find life easier without it.
But then, Treehouse clearly swears by it as a skill that every web designer of developer should possess.
I find I struggle with a couple of concepts like handling version conflicts in a file or even how to actually push files to GitHub. I've got lucky with that a couple of times but I'm just not 100% comfortable on it.
So I need converting :) Is if suitable for a sole practitioner such as myself? Who works on simple web projects. Is Git for me?
Kristopher Van SantCourses Plus Student 18,830 Points
I think this is a great question and I some time wonder this myself. In short yes I think Git is for you! I personally enjoy using Git and Github for my projects, no matter how small, because it helps me stay organized. Git has also become the industry standard for version control, so if you decide to join a company or collaborate with others in the future you'll already be comfortable with it. I've gathered a few links to articles and posts about this that can explain why it's beneficial for solo practitioners.
"Using git with your projects gives you several immediate benefits:
- A complete history of your project from beginning to end
- The ability to revert to any previous state or see the differences between states
- Valuable experience with a popular, industry standard tool
- Free, online cloud storage for your code" - http://sdlambert.github.io/2015/04/09/git-workflow-for-solo-development/
"Why does this even matter? Well, one of the most annoying and time-consuming experiences a developer can have is to realize that something that used to work no longer does. In such situations, simply being able to see changes and go back to an earlier version can be a huge help. Also, being able to go back gives you freedom to experiment with a new approach — there’s no problem experimenting because you can always go back." - http://www.garyrobinson.net/2014/10/git-in-two-minutes-for-a-solo-developer.html
Chris FreemanTreehouse Moderator 68,423 Points
Jonathan, to follow Kristopher's answer, I would strongly recommend picking up
git. Many of my projects are solo development and I can no longer imagine working without
git. The ease that
git allows you to create branches and move among them is a huge feature. It's trivial to have a "master", "dev", "feature", and many, many "what if" branches.
To turn the argument around, instead of being concerned about rolling back to a previous version when something goes wrong,
git allows you to proactively create a new branch at each exploratory turn. Then when you are confident with the changes, the related branches can be merged. If the code doesn't pan out, it can easily be abandon without affecting the rest of the code base. (there are way to prune dead branches easily, if desired).
I use "master" branch for release versions, "dev" for development, "feature branches" off of "dev" for each new development focus, and many "temp" branches off of feature branches to work out nuances. With this workflow, I am never concerned about writing bad code since previous work is protected on other branches.
"Branch early, branch often" is my motto.
Git is integrated into many IDE and text editors making the workflow seemless. A good git commandline and GUI tools exist for inspection of your revision history.