-
15 December 2009Starting to git' it!
Amazingly enough this website has never been under version control. Nevermind that I have in the past worked as a team of programmers, for two years using SVN (or was it CVS?) every single day from the command line editing hundred of C files under VIM... of all editors.
This same person has been developing this site for about 3 years now (?) without version control. Personally I think it's rather funny.
In layman's terms this is what would have been happening with any previous release were it be under version control:There would always have been a stable release. Available, always, anytime. If there is a bug to squash or a small feature to add, I'd have been able to just work on the stable release, and upload that promptly.
Instead, nearly everytime soon after a release, including that last one, I started doing some refactoring and changing a lot of code which make it very difficult to upload changes to the server.. because a lot of code has become unstable.
Well; the good news is I'm starting to "get" Git. I like it. Still have to find how to configure proper merge and diff tools on Windows. But I was able to push and pull repositories and merge changes, make new branches. The next release of the website will be under Git. That means from there on, I will keep always a "master" branch of the site AS IT WAS on the day of release. If I refactor anything, any feature, goes to a new branch. The "master" is untouched.
I'm really happy to have looked into Git as well because it gave me ideas about sharing code and opening code for contribution and patches etc just seems much more feasible. With that said my first public project on Github will be the front-end code build tool which I mentioned in the last site news. It is almost ready.
The next project on Github will be the whole front-end code for RevTK. A good part of the code is written as a small framework of sorts. For example the buttons, the progress bars, these sort of things are written as re-usable components. This package will take more time to put together, but starts to open more possiblities for contributions. For example anybody can contribute fixes to a javascript widget if it doesn't work in some obscure browser.. or on their iPhone, etc.
These two projects will help me learn to be confident enough with Git to look at the next possibilities. But... one step at a time.
If you are a developer and I have roused your interest in Git, here's a few links to save you a lot of pain, trust me! =)- Print out this illustration by Oliver Steele (from this blog post). The illustration is incredibly helpful to understand Git tutorials. Ignore the rest of the blog post for now, it is intermediate/advanced Git.
- Run through this Visual Git Tutorial by Ralf Ebert. Sadly there is no part two yet. This is the most concise and to the point article I have seen so far. This article runs you through all the basic Git commands for a local repository.
- You may want to print this Git cheat sheet.
- A big draw of Git is of course the social site Github. At this point you may want to create your account on Github and follow their instructions.
- From here on things get a little bit hairy unfortunately. You'll have to read a bunch of tutorials and blog posts, experiment.. read ProGit, learn.github.com, GitCasts, GitReady... this isn't very difficult, but takes time. The really hairy part is to learn to configure Git locally and setup some decent merge and diff tools, especially on Windows.
There is a very nice Git GUI on Mac OS called GitX, and the good news is there is an Eclipse plugin in "incubation" phase at Eclipse.org, called JGit /EGit.
If you're a developer I hope this can help you "git" it too! :)
By Month
- Oct 2024 (1)
- Sep 2024 (1)
- Jun 2024 (2)
- May 2024 (4)
- Apr 2024 (3)
- Mar 2024 (1)
- Feb 2024 (1)
- Dec 2023 (1)
- Nov 2023 (2)
- Oct 2023 (2)
- Apr 2023 (2)
- Mar 2023 (2)
- Feb 2023 (1)
- Jan 2023 (2)
- Dec 2022 (1)
- Nov 2022 (2)
- Oct 2022 (3)
- Sep 2022 (1)
- May 2022 (4)
- Apr 2022 (1)
- Feb 2022 (2)
- Jan 2022 (2)
- Dec 2021 (4)
- Nov 2021 (2)
- Oct 2021 (2)
- Sep 2021 (2)
- Aug 2021 (1)
- Apr 2021 (2)
- Feb 2021 (3)
- Jan 2021 (3)
- Dec 2020 (1)
- Nov 2020 (1)
- May 2020 (1)
- Apr 2020 (1)
- Jan 2020 (1)
- Oct 2019 (1)
- Sep 2019 (1)
- Aug 2019 (4)
- Jul 2019 (3)
- Jun 2019 (1)
- May 2019 (1)
- Mar 2019 (2)
- Jan 2019 (1)
- Nov 2018 (3)
- Oct 2018 (8)
- Sep 2018 (4)
- Aug 2018 (3)
- Jul 2018 (1)
- Jun 2018 (4)
- May 2018 (1)
- Apr 2018 (1)
- Mar 2018 (1)
- Jan 2018 (1)
- Dec 2017 (6)
- Nov 2017 (4)
- Oct 2017 (4)
- Sep 2017 (5)
- Aug 2017 (5)
- Jun 2017 (3)
- May 2017 (2)
- Apr 2017 (3)
- Mar 2017 (7)
- Feb 2017 (10)
- Jan 2017 (11)
- Dec 2016 (6)
- Nov 2016 (5)
- Oct 2016 (6)
- Sep 2016 (7)
- Aug 2016 (3)
- May 2016 (1)
- Mar 2016 (2)
- Jan 2016 (1)
- Dec 2015 (3)
- Nov 2015 (1)
- Oct 2015 (1)
- Sep 2015 (7)
- Jul 2015 (2)
- Jun 2015 (1)
- May 2015 (5)
- Apr 2015 (4)
- Mar 2015 (5)
- Feb 2015 (4)
- Jan 2015 (5)
- Dec 2014 (4)
- Nov 2014 (3)
- Oct 2014 (2)
- Jun 2014 (1)
- Apr 2014 (2)
- Mar 2014 (4)
- Feb 2014 (3)
- Jan 2014 (4)
- Dec 2013 (2)
- Oct 2013 (1)
- Sep 2013 (1)
- Jun 2013 (4)
- May 2013 (1)
- Mar 2013 (1)
- Jan 2013 (2)
- Oct 2012 (2)
- Aug 2012 (1)
- Jul 2012 (2)
- Jun 2012 (2)
- May 2012 (1)
- Mar 2012 (2)
- May 2011 (1)
- Apr 2011 (4)
- Mar 2011 (3)
- Feb 2011 (2)
- Jan 2011 (2)
- Dec 2010 (8)
- Nov 2010 (8)
- Oct 2010 (3)
- Sep 2010 (3)
- Aug 2010 (1)
- Jul 2010 (2)
- Jun 2010 (5)
- May 2010 (1)
- Apr 2010 (3)
- Mar 2010 (4)
- Feb 2010 (2)
- Jan 2010 (1)
- Dec 2009 (5)
- Nov 2009 (5)
- Oct 2009 (1)
- Aug 2009 (1)
- May 2009 (5)
- Apr 2009 (2)
- Mar 2009 (1)
- Feb 2009 (2)
- Jan 2009 (2)
- Nov 2008 (1)
- Oct 2008 (1)
- Sep 2008 (1)
- May 2008 (2)
- Apr 2008 (1)
- Feb 2008 (6)
- Jan 2008 (5)
- Dec 2007 (6)
- Oct 2007 (1)
- Sep 2007 (2)
- Aug 2007 (3)
- Jun 2007 (1)
- May 2007 (5)
- Apr 2007 (1)
- Mar 2007 (2)
- Feb 2007 (1)
- Jan 2007 (4)
- Dec 2006 (3)
- Aug 2006 (1)
- Jun 2006 (3)
- Apr 2006 (6)
- Mar 2006 (8)
- Feb 2006 (1)
- Jan 2006 (4)
- Nov 2005 (1)
- Oct 2005 (4)
- Sep 2005 (1)
- Aug 2005 (11)