গিটহাবে ওপেনসোর্স প্রজেক্টে কন্ট্রিবিউশনের সহজ ওয়ার্কফ্লো

প্রথমেই বলে নেয়া ভালো যে, গিট বা গিটহাবের সাথে পরিচয় করিয়ে দেবার উদ্দেশ্যে এই লেখা না।

আমরা অনেকেই গিটহাবে বিভিন্ন ওপেনসোর্স প্রজেক্টে কন্ট্রিবিউট করার চেষ্টা করে থাকি। সাধারণভাবে নিজের কোনো একটা প্রোজেক্টের শুধুমাত্র ভার্সন কন্ট্রোল করার ওয়ার্কফ্লো, আর আরেকজনের প্রোজেক্টে কন্ট্রিবিউট করার ওয়ার্কফ্লোটায় কিছু পার্থক্য আছে।

Continue reading গিটহাবে ওপেনসোর্স প্রজেক্টে কন্ট্রিবিউশনের সহজ ওয়ার্কফ্লো

Getting Started with Git

SECTION 1

Why Get Git?

Git is a postmodern version control system that offers the familiar capabilities of CVS or Subversion, but doesn’t stop at just matching existing tools. Git stretches the very notion of version control systems (VCS) by its ability to offer almost all of its features for use offline and without a central server. It is the brainchild of Linus Torvalds, with the first prototype written in a vitriolic two-week response to the “BitKeeper debacle” of 2005.

Today, developers everywhere are migrating in droves to this exciting platform. Users reference its blistering performance, usage flexibility, offline capabilities, and collaboration features as their motivation for switching. Let’s get started with Git. You’ll be using it like a master in no time at all.

Distributed Version Control

If you are familiar with one or more traditional or centralized version control systems like Subversion, there will be several mental adjustments to make in your migration to Git. The first is that there is no central server. The second is that there is no central server. The full history of the repository lives on every user’s machine that has cloned (checked out) a copy of the repository. This is the essence of a Distributed Version Control System (DVCS).

Once over those hurdles, it is quite liberating to be able to work entirely independently, versioning any new project that you start, even if in the incubation phase. The ease of setting up a new Git repository (or ‘repo’ in common parlance) leads to setting up repos everywhere. It feels frictionless.

From there, you’ll progress to the second epiphany of being able to share a repository and a changeset directly with a colleague without any complicated setup, without a checkin to a central server, direct network connectivity, or having to worry about firewalls getting in the way. Git has done technologically for version control what BitTorrent did for file sharing. It permanently replaced the spoke and hub structure with a peer-to-peer model, and there’s no turning back. It supports transmitting binary sets of changes via USB stick, email, or in the traditional style, over a network, but amazingly, via HTTP, FTP, SCP, Samba, SSH, or WebDAV.

Continue reading Getting Started with Git