Showing posts with label Git. Show all posts
Showing posts with label Git. Show all posts

Friday, April 14, 2017

Tech Talk on Git Workflow Management

This morning, i got an opportunity to share some knowledge about git branching and workflow management to Technopartner Indonesia, a company founded by Guntur Satrya Saputro. Although today is national holiday in Indonesia, but most of the staff were attending this short tech talk. Most of them were my students so it was teaching them again after few years they graduated.

We started at 9 AM and since most of them knew about GIT and have been using it, so i skipped the basic of GIT and jump to the git branching feature and i also showed them some real examples on how to do branching, merging, interactive rebase, and many more. I mostly use SlackBuilds project as an example with some example from other open source project like sbopkg, mate-desktop, and of course Linux kernel. We ended the tech talk in 11:30 AM. It took longer than what i predicted.






What's more important is not about the tool, but how can we utilize this tool to help our work, so i strongly advice them to decide their own workflow and apply a strict policy about some best practices, like coding standard and commit message. It's a simple thing, but it really helps others when working in collaboration.


I was grateful that i joined and contributed to many open source projects before so i learned this naturally. I remember i started to join the OpenOffice.org community and started to learn about CVS with lots of help by the community. Later on, i joined SBo project and learn more about GIT. By working hand by hand with the community, you can gain more.

Thursday, May 29, 2014

GIT 2.0.0 Released

Junio C Hamano has just announced the availability of GIT 2.0, a major release of the popular distributed SCM tool used by Linux Kernel project and many other open source projects. I even used it in many of my own projects (both open source and personal projects).

This major release brings some big changes, but it has been introduced since 1.9.x, so the transition period should be easier for everyone who have been using 1.9.x. In overall, the changes are scattered everywhere: UI, workflows, performance, documentations, and code clean-ups.

Thursday, November 15, 2012

New Release of Cgit

Cgit, a popular front-end to git, another popular source code management tool has finally released a new version after a long period of inactive, due to disappearance of the former maintainer, Lars Hjemli.

Another developer, Jason A. Donenfeld who has been contributing to this project decided to release a new version of Cgit (0.9.1) since he found a security problem on the previous release of cgit and it has been fixed on his branch, but not in the main branch of cgit. He said that if Lars came back, he will let Lars take the ownership back again and he will continue to work on Cgit as well.

Saturday, September 15, 2012

Working with GIT

Lately, i have been playing with GIT more intensively than ever. I'm maintaining several GIT repository for my own work, my personal project, and also for community, such as SlackBuilds project which now uses GIT mainly for tracking changes.

GIT itself is a very powerful tool for managing source code. No wonder many open source project decided to switch to GIT from many other SCM tools, such as CVS and SVN. It's nature of a distributed system makes it perfect for projects whom it's member are working in a different time zone, different area, and may have many different policies throughout their code.

As i'm still learning more about GIT, there are still a lot of commands that i still don't understand, but i'm trying to learn all the basic steps to work with my repository and so far, i'm still on the right track (hopefully).

I'm using Pro Git as my reference to work with GIT. You might want to read it as well if you want to learn more about GIT. I'm sure you will love it.

Wednesday, July 18, 2012

What is GitHub?

For those who have been working with open source projects, probably you will not be surprise to see a term called GitHub. It's one of the most popular source code management repository that are offered for free (there's a commercial service for advanced user or for those who wanted to make a private repository).

Klint Finley wrote an article about What Exactly is GitHub Anyway? which described what GitHub is about and what technology it's based upon. You might want to learn about it since it's really an amazing service. You will see more and more projects hosted in GitHub in the future due to it's features which facilitates developers to share and collaborate with other developers working on source code.

I personally use GitHub for my SlackHacks repository and so far, it worked well for me. Why don't you try it?

If you need assistance on running GIT, please read the Pro Git, GIT Cheat Sheet or just use the visual GIT Cheat Sheet below


Monday, June 04, 2012

Pro Git

I have been using GitHub to manage my SlackHacks repository and so far, i don't have problems with it. Probably it was because there's only one person working on this repository.

I set up another repository to work on a project and this is where i learn that GIT is way superior than Subversion for doing branching and merging. Even though it's quite complicated in the beginning, but finally i'm able to learn some basic skills to handle multiple sub work at once.

One of the best resource that i can find to work with GIT is Pro Git which was released by Apress and it can be downloaded for free in form of PDF, Mobi, or ePub format. This book has been translated into several languages as well, including Indonesian.

Sunday, April 22, 2012

Playing with GIT

I have started a new GIT repository on GitHub called SlackHacks. It's just created few hours ago and i wanted to use this repository to put my "hacked" SlackBuild that works for Slackware-Current.

Usually, SlackBuild scripts are designed to work with Slackware-Stable, not for Slackware-Current. Unfortunately, the nature changes in -Current looks more interesting for me, because there might be time when new changes in -Current break compatibility with older version and need some "magical touch" aka patches to work with newest version.

As the policy in SlackBuilds required us to submit packages compatible to -Stable only, the only way to provide updates for Slackware-Current users is via third party repository which is outside the SlackBuilds project.

I will also use this repository to learn more about GIT.

Monday, July 18, 2011

Google Code Support GIT

Google Code is known as one of the most-used project hosting for many open source project around the world besides SourceForge and also GitHub. Initially, they only support SubVersion (SVN) as their SCM tool, but they have added Mercurial in 2009 which brings Google Code to another level because it has support for a distributed SCM tool.

That doesn't stop Google to improve their work as now GIT is a popular tool since Linus Torvalds created it for the sake of Linux Kernel development and it seems that many developers like it and many of them have migrated to GIT. Even big players like KDE is also moving to GIT and so does it's biggest rival: GNOME. Other open source project that also uses GIT includes PERL, QT, Android, XOrg, and PostgreSQL.

So what happened next is that Google has now officially added GIT as another options for the developers when they initially created the project. You now has three options : SVN, Mercurial, and GIT.

As always, free hosting doesn't come up with unlimited features. Google has stated those limitations under the FAQs:
  • 4GiB repository size limit (apply to all source control systems)
  • Push size limit of 500 MiB for GIT
  • Supported GIT version: 1.6.6 at minimum
If you have been working with SVN, you can have a look on the GIT Migration FAQ to migrate it to GIT.

Friday, February 26, 2010

Mercurial Tutorial

Today i found an interesting website about Mercurial written by Joel Spolsky. It gives you a brief tutorial about Mercurial and how is it compared to Subversion, another revision control tool widely used in this world. I would recommend this site if you are planning to find a revision control tool to help you working with other people around the world. This tutorial is also helpful if you are having problem with CVS or Subversion and you would like to find an alternatives to it.

Other alternative to Mercurial is Git, originally written by Linus Torvalds (now maintained by Junio). It's also distributed revision control tool, unlike Subversion or CVS which are centralized. You can find the tutorial for Git on Git Book or in Charles Duan's website in Harvard.

Learning how to use revision control will help you organize your team even if your team are not located in the same place, same building, same city, same country. Your team can be widespread around the world, but they can share their work to others without interupting other's work or causing a dillema on the code itself (whether it's a buggy code or late code because people are afraid to commit to the repository unless it has been well tested).

Monday, November 09, 2009

New to GIT?

Are you new to GIT? Then you might want to have a look on Linus' presentation about GIT on Google TechTalks. It is a live video and he gave more than one hour of presentation (1:10:14 for more precisely).

Please note that if you are a CVS/SVN users and you loved it so much, you might avoid clicking above link because you may get angry with him big grin

Tuesday, October 07, 2008

Internet Usage Time Limiter

Do you think that Linus only focusing on Linux kernel? Well, think twice, as he has now developed a silly time-limiter for the kids' internet usage (that's what he mentioned on his GIT repository). This application can be used to limit the internet usage of his children in order to make them strict on time, so they can work their home works and not playing on the Internet all the time.

Do you know what's the reason why he developed that program? Look at his blog post.