Questions tagged [version-control]

A programming discipline for tracking, storing and retrieving revisions of source code.

When using version control in a software project: each file belonging to the project is inventoried and stored in a repository, associating a version to each file. Whenever any of the files in the repository needs to be changed, it is recovered from the repository and delivered to the developer who will modify the file. When the developer has finished modifying the file, it is stored again in the repository, associating a new version to the file.

960 questions
416
votes
8 answers

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 source control concepts. What does 'stage' mean in the…
000
  • 4,525
  • 4
  • 16
  • 16
308
votes
16 answers

Why does everyone use Git in a centralized manner?

I have used Git at my past two companies for version control. It seems from what I've heard that about 90% of companies use Git over other version control systems. One of the biggest selling points of Git is that it is decentralized, i.e. all…
gardenhead
  • 4,719
  • 2
  • 19
  • 24
307
votes
10 answers

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 new way of working on code with changesets and local…
user2567
301
votes
20 answers

What does SVN do better than Git?

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 tool builder). Text editors are probably the…
doug
  • 568
  • 2
  • 5
  • 12
282
votes
6 answers

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: myProject/ +-- gui +-- core +-- api +--…
Johan Sjöberg
  • 3,007
  • 4
  • 16
  • 7
266
votes
10 answers

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? The images in question are small/medium-sized web-friendly images. For the most part, the images won't be changed. The folder…
spong
  • 9,361
  • 6
  • 44
  • 58
227
votes
12 answers

Strategy for keeping secret info such as API keys out of source control?

I'm working on a website that will allow users to log in using OAuth credentials from the likes of Twitter, Google, etc. To do this, I have to register with these various providers and get a super-secret API key that I have to protect with pledges…
Ripped Off
  • 3,757
  • 3
  • 21
  • 24
184
votes
2 answers

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 create a branch for version 1.1 of a project. When I…
Code-Guru
  • 2,419
  • 3
  • 16
  • 17
183
votes
4 answers

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 git commit The first step places revisions into what's called a "staging area" or "index". What I'm interested in is why this design decision is made, and…
thomasrutter
  • 2,311
  • 3
  • 16
  • 13
150
votes
31 answers

Is it unusual for a small company (15 developers) not to use managed source/version control?

It's not really a technical question, but there are several other questions here about source control and best practice. The company I work for (which will remain anonymous) uses a network share to host its source code and released code. It's the…
149
votes
9 answers

Maintain hundreds of customized branches over master branch

Currently we have one master branch for our PHP application in a shared repository. We have more than 500 clients who are subscribers of our software, most of whom have some customization for different purposes, each in a separate branch. The…
Fernando Tan
  • 1,527
  • 2
  • 11
  • 9
145
votes
6 answers

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 revisions are simple numbers we can use them to extend…
Erlend
  • 1,553
  • 3
  • 10
  • 6
129
votes
23 answers

Why did Git get so much hype? ...while others don't?

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, and provide similar functionalities. Moreover,…
dagnelies
  • 5,415
  • 3
  • 20
  • 26
124
votes
15 answers

Why big companies use Perforce?

I heard about some big companies e.g. Google, Facebook use Perforce Are there any reason why SVN/Git cannot replace Perforce?
user34401
  • 741
  • 2
  • 11
  • 13
121
votes
5 answers

What are the advantages of using branching as a solo developer?

First off, I am aware that many questions have been asked about VCS as a solo developer, but they are often too broad. This concerns only branching, and still it has been marked as a duplicate...the supposed duplicate is, again, marked as another…
flatterino
  • 973
  • 2
  • 7
  • 9
1
2 3
63 64