Click here to Skip to main content
15,924,036 members

Welcome to the Lounge

   

For discussing anything related to a software developer's life but is not for programming questions. Got a programming question?

The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.

 
GeneralRe: Git Source Control Pin
GuyThiebaut28-Apr-20 7:22
professionalGuyThiebaut28-Apr-20 7:22 
GeneralRe: Git Source Control Pin
Kevin Marois28-Apr-20 7:23
professionalKevin Marois28-Apr-20 7:23 
GeneralRe: Git Source Control Pin
GuyThiebaut28-Apr-20 7:31
professionalGuyThiebaut28-Apr-20 7:31 
GeneralRe: Git Source Control Pin
Kevin Marois28-Apr-20 7:35
professionalKevin Marois28-Apr-20 7:35 
GeneralRe: Git Source Control Pin
GuyThiebaut28-Apr-20 7:54
professionalGuyThiebaut28-Apr-20 7:54 
GeneralRe: Git Source Control Pin
MarkTJohnson28-Apr-20 8:10
professionalMarkTJohnson28-Apr-20 8:10 
GeneralRe: Git Source Control Pin
MarkTJohnson28-Apr-20 8:08
professionalMarkTJohnson28-Apr-20 8:08 
GeneralRe: Git Source Control Pin
Andre_Prellwitz29-Apr-20 7:39
Andre_Prellwitz29-Apr-20 7:39 
> Where is the code hosted at?

The main thing to understand about git is that it separates the concerns of *version control* and *centralized storage*. Initially you can have version control stored locally, and then optionally synchronized to a server. The nice thing is that you can commit local changes, revert, switch branches, etc. without access to the centralized server. The reason this is possible is that you have a copy of the entire repository on your local, including all commits, and that allows you to work offline, for example. The hardest part is synchronizing your local copy with a copy elsewhere, called a "remote". It's not usually bad, but it can get pretty complicated. See https://medium.com/@ottovw/forget-git-just-use-subversion-or-perforce-8412dc1b1644[^]

One way to understand why git is the way it is, is to understand the design rationale behind it. Linus wanted the ability to work while offline, so he could work while traveling: this means that check-out (aka locking) is abolished, merging is the standard approach to check-in (aka commit), tooling keeps track of changed files and also handles branch switching, and viewing history/blame/commit graphs is fast and optimal. It's meant as a DVCS, with a robust security model and scalability to handle projects like Linux (and enables monorepos, for example).

I used to hate git, because it makes things twice as complicated as, say, SubVersion. Honestly, most of the reasons for using git are not applicable to most enterprise development, unless you have massive codebases and teams. Probably the main reasons companies embrace it is 1) everyone else is doing it and 2) it's free. These days, especially after having to deal with even "modern" TFS and its lack of performance, mainly due to its coddling of the developer (omigosh, everything--especially merges--has to go through the server in case a workstation suddenly blows up), I find I'm liking git more and more. There are alternatives like Perforce or PlasticSCM that do DVCS well, if that's a requirement, but they also cost money. If you're just doing a small project, a local git repository occasionally synced with a remote is trivial to set up and easy to use. One may argue that its learning curve makes its cost non-zero.
GeneralRe: Git Source Control Pin
Kent Sharkey28-Apr-20 7:25
staffKent Sharkey28-Apr-20 7:25 
GeneralRe: Git Source Control Pin
GuyThiebaut28-Apr-20 7:33
professionalGuyThiebaut28-Apr-20 7:33 
GeneralRe: Git Source Control Pin
OriginalGriff28-Apr-20 8:34
mveOriginalGriff28-Apr-20 8:34 
GeneralRe: Git Source Control Pin
pkfox28-Apr-20 9:17
professionalpkfox28-Apr-20 9:17 
GeneralRe: Git Source Control Pin
RickZeeland28-Apr-20 8:51
mveRickZeeland28-Apr-20 8:51 
GeneralRe: Git Source Control Pin
raddevus28-Apr-20 9:18
mvaraddevus28-Apr-20 9:18 
GeneralRe: Git Source Control Pin
Jacquers28-Apr-20 19:03
Jacquers28-Apr-20 19:03 
GeneralRe: Git Source Control Pin
Peter Adam28-Apr-20 21:55
professionalPeter Adam28-Apr-20 21:55 
GeneralRe: Git Source Control Pin
Sander Rossel28-Apr-20 22:23
professionalSander Rossel28-Apr-20 22:23 
GeneralRe: Git Source Control Pin
PhilipOakley29-Apr-20 1:14
professionalPhilipOakley29-Apr-20 1:14 
GeneralRe: Git Source Control Pin
Sander Rossel29-Apr-20 1:32
professionalSander Rossel29-Apr-20 1:32 
GeneralRe: Git Source Control Pin
Davyd McColl29-Apr-20 0:30
Davyd McColl29-Apr-20 0:30 
GeneralRe: Git Source Control Pin
Member 11032329-Apr-20 4:12
Member 11032329-Apr-20 4:12 
GeneralRe: Git Source Control Pin
MikeTheFid29-Apr-20 5:54
MikeTheFid29-Apr-20 5:54 
GeneralRe: Git Source Control Pin
Kirk Hawley30-Apr-20 9:12
professionalKirk Hawley30-Apr-20 9:12 
JokeToo Soon? Pin
ZurdoDev28-Apr-20 6:19
professionalZurdoDev28-Apr-20 6:19 
GeneralRe: Too Soon? Pin
DRHuff28-Apr-20 6:22
DRHuff28-Apr-20 6:22 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.