Git is an open-source DVCS (Distributed Version Control System)

learn more… | top users | synonyms

250
votes
11answers
24k views

I'm a Subversion geek, why should I consider or not consider Mercurial or Git or any other DVCS?

I try to understand the benefits of distributed version control system (DVCS). I found Subversion Re-education and this article by Martin Fowler very useful. Mercurial and others DVCS promote a ...
243
votes
20answers
73k views

What does SVN do better than Git? [closed]

No question that the majority of debates over programmer tools distill to either personal choice (by the user) or design emphasis, that is, optimizing design according to particular uses cases (by the ...
82
votes
10answers
18k views

Why is the sudden increase in number of Git submitters on Debian popcon graph in 2010-01?

Almost every article I've read 1 comparing Git and Mercurial it seems like Mercurial has a better command line UX with each command being limited to one idea only (unlike say git checkout). But at ...
77
votes
23answers
10k views

Why did Git get so much hype? …while others don't? [closed]

In the recent years, the hype around Git raised greatly. Everybody knows about Git, nobody knows about alternatives. Other ones like Mercurial seem to be unnoticed. Both have been released in 2005, ...
69
votes
12answers
10k views

git for personal (one-man) projects. Overkill?

I know, and use, two version control systems: Subversion and git. Subversion, as of now, gets used for personal projects where I am the only developer and git gets used for open source projects and ...
66
votes
4answers
10k views

What is the benefit of git's two-stage commit process (staging)?

I'm learning git and I've noticed that it has a two-step commit process: git add <files> git commit The first step places revisions into what's called a "staging area" or "index". What I'm ...
59
votes
5answers
4k views

Why does git use hashes instead of revision numbers?

I always wondered why git prefers hashes over revision numbers. Revision numbers are much clearer and easier to refer to (in my opinion): There is a difference between telling someone to take a look ...
59
votes
8answers
37k views

What does 'stage' mean in git?

I find git hard to understand as I could not find the meaning of the words used for the actions. I have checked the dictionary for the meaning of 'stage' and none of the meanings were related to ...
57
votes
11answers
8k views

Why learn git when there are GUI apps for GitHub?

Given that GitHub provides GUI apps for both Mac and Windows, what are the benefits of learning to use git from the command line? Currently I'm using their mac app to update my repositories, and so ...
54
votes
2answers
20k views

Choosing between Single or multiple projects in a git repository?

In a git environment, where we have modularized most projects, we're facing the one project per repository or multiple projects per repository design issue. Let's consider a modularized project: ...
53
votes
9answers
19k views

Should images be stored in a git repository?

For a distributed team that uses Git and Github as version control, should images also be stored in the git repository? For the most part, the images won't be changed. The folder containing them will ...
41
votes
7answers
16k views

How to manage github issues for (priority, etc)? [closed]

I'm new to github, and am looking for advice on how to manage issues. I'm used to having priority and other ordering options but see that none exist. How do others manages issues during the ...
38
votes
5answers
18k views

How do you achieve a numeric versioning scheme with Git?

My organization is considering moving from SVN to Git. One argument against moving is as follows: How do we do versioning? We have an SDK distribution based on the NetBeans Platform. As the svn ...
36
votes
10answers
8k views

Why “Fork me on GitHub”?

I understand how GitHub works, but one thing I've been confused about is, why almost every OSS project lately has a "Fork me on GitHub" link on their homepage. For example, http://jqtjs.com/, ...
35
votes
4answers
11k views

Are there any statistics that show the popularity of Git versus SVN?

I'm writing an essay, and would like to have some empiric evidence, perhaps longitudinal data where the popularity of these technologies is compared over a period of some years. Are there any ...
34
votes
8answers
13k views

Should Git be used for documentation and project management? Should the code be in a separate repository?

I'm starting up a Git repository for a group project. Does it make sense to store documents in the same Git repository as code - it seems like this conflicts with the nature of the git revision flow. ...
34
votes
8answers
5k views

Is it a good practice to use branches to maintain different editions of the same software?

We have a product that has a few different editions. The differences are minor: different strings here and there, very little additional logic in one, very little difference in logic in the other. ...
33
votes
1answer
1k views

What are the advantages and disadvantages of cryptographically signing commits and tags in Git?

So someone peer reviewed my work, and he told me that I should always sign my commits and tags cryptographically. When asked why, he didn't know to explain it to me, and said "It's just a good thing ...
32
votes
8answers
2k views

Should a git commit message mention the file that was modified?

In the first line of a git commit message I have a habit of mentioning the file that modified if a change doesn't span multiple files, for example: Add [somefunc] to [somefile] Is this a good ...
31
votes
13answers
2k views

Should I understand SVN before I jump to GIT? [closed]

I work in a department where no one has ever used source control before, including myself. I am trying to push the concept. I have spent a little while researching SVN. I some basics learned. I can ...
30
votes
6answers
1k views

Are Frequent Complicated Merge Conflicts A Sign of Problems?

On our team, we use Git as our source control. We have several areas of code that are almost independent but have some overlap. Lately we have been discussing workflows and approaches to using source ...
29
votes
4answers
5k views

Is backing up a MySQL database in Git a good idea?

I am trying to improve the backup situation for my application. I have a Django application and MySQL database. I read an article suggesting backing up the database in Git. On the one hand I like ...
28
votes
10answers
2k views

Do DVCSes discourage continuous integration?

Say there is a team of ten agile developers. Every day they each pick a task from the board, commits several changes against it, until (by the end of the day) they have completed the task. All ...
28
votes
4answers
1k views

Should a github maintainer rewrite author's in pull requests?

I'm not a programmer by profession, but I do some coding and have used github some. I've run across what I find to be a surprising situation. I'm very familiar with git. There is a project which I ...
27
votes
5answers
2k views

Why do so many websites prefer “git rebase” over “git merge”?

One of the advantages of using a DVCS is the edit-commit-merge workflow (over edit-merge-commit often enforced by a CVCS). Allowing each unique change to be recorded in the repository independent of ...
27
votes
6answers
2k views

Which DVCS (git or hg) is easier for programming students? [closed]

A bit of context: I'm in 3rd year of college. students are divided into teams of 4. Almost everyone will be working under windows (except a few like me who are on linux). As part of the school ...
27
votes
8answers
5k views

Can you recommend a good commit message template / guidelines to enforce in the company? [closed]

In Git it's possible to set and enforce a good commit template. Can you recommend (preferably with argumentation) a good commit template / guidelines to enforce in the company?
27
votes
2answers
5k views

Empirical Evidence of Popularity of Git and Mercurial

It's 2012! Mercurial and Git are both still strong. I understand the trade-offs of both. I also understand everyone has some sort of preference for one or the other. That's fine. I'm looking for ...
26
votes
11answers
1k views

Business case for decentralized version control systems

I searched and couldn't find any business reasons why git/mercurial/bazzr systems are better than centralized systems (subversion, perforce). If you were trying to sell a DVCS to a non-technical ...
26
votes
4answers
6k views

Why does the Git community seem to ignore side-by-side diffs [closed]

I used to use Windows, SVN, Tortoise SVN, and Beyond Compare. It was a great combination for doing code reviews. Now I use OSX and Git. I've managed to kludge together a bash script along with Gitx ...
25
votes
6answers
2k views

How to choose between git and Mercurial

Both Git and Mercurial are DVCS, and that's great. I wonder if there is a list of particular situations when one of those systems are preferable, something like 'In mobile development for many ...
25
votes
4answers
938 views

When should the VCS history of a project be deleted? [duplicate]

I just refactored my project's entire codebase. So much so that even though it uses most of the same code base, things work in a radically different way. If the old version was 1.0, the new one would ...
24
votes
3answers
4k views

Organizing Git repositories with common nested sub-modules

I'm a big fan of Git sub-modules. I like to be able to track a dependency along with its version, so that you can roll-back to a previous version of your project and have the corresponding version of ...
23
votes
5answers
2k views

Why do Git users say that Subversion does not have all the source code locally?

I'm only going on what I've read on SO, so forgive me, but all I read says that one major advantage of Git over Subversion is that Git gives all the source code to the developer locally, not having to ...
22
votes
9answers
4k views

Using Git in Enterprise environment [closed]

Git is an excellent version control system. If we exclude the fact that, it doesn't have an excellent GUI support, it's really good and fast. But the source controls like Clearcase has large support ...
22
votes
3answers
2k views

Why should I push if I'm working alone in a local repository?

I'm interacting with Git through GitHub for Windows, which is funny since I'll never push my repository to GitHub. I'm working on it alone and it's intended to be used only by me. I noticed that my ...
22
votes
6answers
2k views

Is version history really sacred or is it better to rebase?

I've always agreed with Mercurial's mantra 1, however, now that Mercurial comes bundled with the rebase extension and it is a popular practice in git, I'm wondering if it could really be regarded as a ...
22
votes
5answers
958 views

We're Subversion Geeks and we want to know the benefits of Mercurial [closed]

Having read I'm a Subversion geek, why should I consider or not consider Mercurial or Git or any other DVCS. I have a related follow up question. I read that question and read the recommended links ...
21
votes
2answers
13k views

Git branching and tagging best practices

I am currently learning to use Git by reading Pro Git. Right now I'm learning about branching and tags. My question is when should I use a branch and when should I use a tag? For example, say I ...
21
votes
4answers
3k views

I am a git user confused by mercurial's branching. How am I supposed to track small changes?

I've always used git before, but I want to contribute to python so now I have to learn mercurial and I find it very frustrating. So, I've made a couple of small patches and I wanted to track them as ...
21
votes
4answers
7k views

How does one handle sensitive data when using Github and Heroku?

I am not yet accustomed with the way Git works (And wonder if someone besides Linus is ;)). If you use Heroku to host you application, you need to have your code checked in a Git repo. If you work on ...
20
votes
6answers
2k views

Specific reasons for still using Subversion? [closed]

I want to choose a version control system for my company. So far I know I have Git, Subversion and Mercurial. These days I see that Git is the most used, so I'm left wondering: would there be any ...
20
votes
3answers
1k views

On GitHub, etiquette and pull requests [duplicate]

If someone forks your repository and commits some changes, what is the accepted way to proceed if you'd like to ask them whether it's alright to pull those changes in? Can you issue a pull request on ...
20
votes
2answers
644 views

How robust are Git commits when the power goes out?

One day I was using Git (I'm still using it) and the electricity went down while I was committing. When I (actually, the electricity) came back, the git repo was corrupt. I don't remember the exact ...
19
votes
7answers
14k views

Using multiple Git repositories instead of a single one containing many apps from different teams?

I am migrating a 10-years-old big CVS repository to Git. It seemed obvious to split this multiple-projects repository into several Git ones. But the decision-makers are used to CVS, therefore their ...
19
votes
10answers
1k views

Is it ever OK to commit non-working code?

Is it good idea to require to commit only working code? This commit doesn't need to leave the repository in a working state as: ... we are in early design stages, the code is not yet stable. ...
19
votes
5answers
2k views

As a sole developer (for now), how should I be using Git? [closed]

I have multiple projects on Git that I eventually want to bring others into. However, right now it's just me and I use Git and GitHub very simplistically: no branches and basically just using the ...
18
votes
6answers
1k views

What does “branching is free” mean in Git?

What does "branching is free" mean in Git? I hear this a lot whenever Git is mentioned in comparison to other version control systems. I haven't had the opportunity (?) to deal with others (SVN, ...
17
votes
6answers
762 views

When should I stop committing to master on new projects?

Whenever a new project starts, it usually makes sense to start by committing straight to master until you've got something "stable", and then you start working in branches. At least, this is how I ...
17
votes
1answer
736 views

Are Git branches, in fact, “homeomorphic endofunctors mapping submanifolds of a Hilbert space”?

As we all know: Git gets easier once you understand branches are homeomorphic endofunctors mapping submanifolds of a Hilbert space Which seems like jargon, but on the other hand, All told, ...