Git Init – Start learning Git

Recently I started learning/using Git source control for my personal projects. Not yet settled on any particular project but hey, its fun to learn Git at least. I personally use GituHub or Bitbucket for my projects.

Git is a distributed version control system. Meaning every developer can have full source code copy in his machine. You can find a good discussion over here why to use Git over TFS.

Coming from TFS world, Git terms will confuse a little bit initially. So hear are the details I followed to understand some of the common tasks of the Git. The following cheat sheet might help you to start with. Table source

TFS Version Control Git
Workspace Repository (aka. “Repo”)
Get Latest  (First time) Clone
Get Latest (After first time) Pull
Check in Commit + Push
Check out (just start typing)
Branch Branch
Merge Merge
Code Review “pull request”
Shelveset Stash or Branch
Label Tag

I am a single developer on my projects. So chances of merge conflicts are less. But as the number of developers increase in the project you start facing merge conflicts. I am currently using KDiff3 as merge conflict resolver.

Apart from this, start learning Git online in the following links.

Once you are comfortable, start with these open source projects to use your Git skills.




My day-to-day developer tools

There are so many helpful tools, websites for a developer. I use some of them which served me very well and they are FREE.

These are the tools I am using in my day-to-day life.

Pocket: This tool I am using as read later app. Whenever I see something I want to read later I will save in Pocket. The best part of this tool is it sync my entire list to mobile and I can read them offline which is cool.

Feedly : This tool is great way to follow my favorite sites, authors. I use this tool mainly to follow the feeds of programming, tech and science related topics.

Flux: This tools is helpful in reducing stress on eyes by reducing blue light effect. It runs in the background and set the screen brightness automatically based on the time of my current location. The site says

f.lux makes your computer screen look like the room you’re in, all the time. When the sun sets, it makes your computer look like your indoor lights. In the morning, it makes things look like sunlight again.

Tell f.lux what kind of lighting you have, and where you live. Then forget about it. f.lux will do the rest, automatically.

OneNote: This is default note taking app. Using this tool is super easy and helps me organize my work.

Fiddler: This is a web debugging proxy for web platforms and it is very helpful for me to test web sites and web api.

LINQPad: This tool is very helpful in my day-to-day programming life. I use this tool for not only to test LINQ queries but also to run some C# sample code to see the results instead of creating Visual Studio console apps. Site says

Put an end to those hundreds of Visual Studio Console projects cluttering your source folder and join the revolution of LINQPad scripters and incremental developers.

SlickRun: I use this tools many times in a day. It is a floating command line utility which always appear on the screen. You can open any program or site from this tool without going through start menu find program etc. It has auto complete feature and the best part is you can configure for your needs.

GitHub Desktop: I recently started using this tool to create some test projects GitHub. If you are not familiar with Git commands or want to learn Git this tool is super easy to start. Once you are comfortable with this, start using Git commands instead of this tool to get expose to lot of other features of Git. Its fun to use git commands 😉

Bitbucket: If you want to create your personal projects using Git but don’t want to share publicly then this site is very useful. I use this website for my personal projects.