Git is a version control tool created by Linus Torvalds for the express purpose of dealing with the massive number of...

Git is a version control tool created by Linus Torvalds for the express purpose of dealing with the massive number of contributors and decentralized nature of maintaining the Linux kernel.

The fact that it's become the defacto vesion control system for modern "developers" is a testament to the memery, shallowness, and cargo-cult nature of the tech industry.
It's highly overkill for 99% of projects.
Most version control systems need a page or two to explain the basic commands. The Pro Git book is 550+ pages long.
So why, you, as a developer would use Git?
Remember, Git was created to handle Linux development.
Most repos have a 1 to 1 relationship with their remote server and have only a single branch because they're developed by 1 guy and aren't receiving massive breaking changes every week.
And yet, literally every nu-coder and their grandmother uses it as a glorified backup system and has never used more than git add, commit and "push origin master"
Is it because you want to look cool? Or you think your project is going to be as large one day as the Linux kernel? Or your company is forcing you to?

Would you even use git and an external git host if it wasn't the en vogue thing to do?
Git is the biggest cargo cult meme since functional purity and OOP. Prove me wrong.

Other urls found in this thread:

git-scm.com/docs/git-bisect
twitter.com/NSFWRedditVideo

>It's highly overkill for 99% of projects.
you meant to say "my projects"

>So why, you, as a developer would use Git?
I'm employed.

Come back when you finally get a job and need a real version control system.

nice blog where do I subscribe?

It's what I picked up on a whim and stuck with, kind of like vim vs emacs. The fact that it's still heavily in use today by many people is just a bonus. Overkill or not, it does its job and I see no reason to switch

But it scales with the complexity of your project. If you're just doing small personal stuff, you only need to know like 5-10 commands, and forget everything else.

use what you need.
stop being a faggot.

I work with 3 other sysadmin.

We have Mecurial, CVS, RCS and SVN throughout the network for various things. We picked up Git for better collaboration with certain codebases.

Do you recommend people who don't know how to use all of vims functions to use vi? I wouldn't, and with that same reasoning I'd have someone use git over svn.

>knowing all of vims functions
You can easily be productive in vim without knowing every little thing about it. All you need are the basics, everything else is just a bonus

Same applies to git.

that's his fucking point kek

You are a stupid attention whoring snowflake. Why do you care what others do? May be they have jobs? Or may be they get contribution from multiple devs? Are these scenarios unfamiliar to you? Even if it is, no one forces you to use git. And no one cares if you don't.

ITT: a NEET thinks everyone does only hobby projects.
I've had to branch, rebase, bisect, squash and load submodules quite often while on the clock.

The question didn't make sense when followed by the "I wouldn't, etc"

Bisect alone is worth the time of learning git.

What does bisect and cherry pick do?

git-scm.com/docs/git-bisect

Tl;dr: Bisect is a quick way to answer "Which commit did this bug go in with"? You give it the last known good commit, and it walks you through a binary search, narrowing down the commit that caused your problem.

Cherry pick lets you grab a specific commit out of anywhere in the tree and apply it to your working tree.

>Branch
>Squash
W-Whoa
expert here

> Do you not know how to use all vims functions? It's okay, use vim over vi anyway.
> Do you not have a project worth using git? It's okay, use git over svn anyway.

Are you not reading it in order? Answer the question and move on to the next sentence. I answer with no, then I return that value to the user before continuing. If you don't go in sequence things might not make sense. Sequence is important to get the correct outcome.

what's the best git gui interface?

Visual Studio
I use VS2017 it comes with git as standard
The IDE is free
So is the compiler
:)

No such thing.

I'm dead serious. If you're using a gui, you're hamstringing yourself. Everything you need you can get on the CLI, including the pretty graphs.

Come built in with Windows 10
Don't listen to linux fags telling you otherwise they are just being dicks

Any project can benefit from the data robustness of git (i.e. its extremely robust checksumming.) Any project can benefit from the ability to make commits on the go without a network connection (i.e. on an airplane.) Any project can benefit from the ability to start making commits without the overhead of setting up a server. Any project can benefit from simple branching and merging, because it gives you the ability to make commits for an idea that may never go anywhere without polluting the commit history of your main branch. Any project can benefit from the ability to easily rewrite commit history. Even a single developer can benefit from the ability to develop from multiple devices. And finally, if you want to be employable as a developer in 2017, you need to know git anyway-- so why not use it for everything else? I have eight years of experience with SVN, but I still don't hesitate to use git for all my own simple personal projects, because it is more powerful for complex workflows and no more difficult to use for simple workflows.

>The fact that it's become the defacto vesion control system for modern "developers" is a testament to the memery, shallowness, and cargo-cult nature of the tech industry.
nah, cvs and subversion were just that terrible

>visual studio is free
only the pleb version, if you are planning on making money at all with your programs you have to pay
>an ide is a compiler
u fuckin what m8

That's a little concerning to me that I wasn't able to see that right away. It's obvious what you meant to say, I don't see why I needed it spelled out. Thanks anyways user

> John Podesta
> Mailman
> Not Pizza-mapper

Whoever made it missed a golden opportunity.

if you're working, you don't have a choice - you use what the company tells you to use

Git honestly fucking sucks. It's bad software. It's so weird, because it's used to make a lot of good software, and the person who made it ALSO makes good software, he just also made git. Git is full of weird abstractions and "bare-metal" bits, and neither of these would be a problem if they were actually done correctly but they aren't in any way. Commands that do conceptually similar things are given totally different commands, one of which is based on the conceptual model of git as DAG and the other on a historical implementation detail that hasn't been relevant since git was written. The reason so many complain about how quickly you forget how to use git once you stop using it is because it's totally inconsistent and you really are just memorizing arbitrary commands. There's no consistent system of thought behind the way it's written to be used where once you "get" it you don't have to memorize specific details and can just get to work. You're better off using Fossil or Mercurial and just exporting to git to host it on github so other people can submit bugs and issues.

The worst part isn't that git sucks though, it's the fact that so many shitty programmers use memorizing git commands as a shibboleth for being a "real programmer" that they refuse to adopt better version control systems because they think they'll lose their stupid geek cred or something.

No, if we were using something besides Git, I'd be campaigning to switch us to Git.

>There's no consistent system of thought behind the way it's written to be used where once you "get" it you don't have to memorize specific details and can just get to work.
False. Once you "get" the DAG mental model and what a commit hash represents, it gets a lot easier.

the reason why it was created was because there was nothing like it that existed that wasn't shit. You're forgetting to mention this bit. Git filled a very, very large void. Clearly youve never tried using other version control software. News flash; they're all fucking awful. I do agree with you that using git as a backup method is retarded, but how can you stop retarded people from being retarded? You can't.

Wrong. DAG models don't allow for the possibility of a detached head, which is a historical implementation detail in git. Git sucks because git "wants" to use the DAG model but wasn't deliberately written to follow it. e.g, git reset --hard and git checkout [file] do the same thing but to a different number of files. git checkout ALSO does 3 other completely conceptually unrelated things. The only reason this makes sense is, as Torvalds himself claimed, git was never intended to be used on its own, it was supposed to be a backend to a more consistent system. Of course, that consistent system never came around and git was hacked on until it had a semi-consistent layer on top of the implementation details, leading to the bizarre mess git is today.

>Of course, that consistent system never came around and git was hacked on until it had a semi-consistent layer on top of the implementation details, leading to the bizarre mess git is today.

welcome to the way that 99% of software is built

I don't know why you bothered responding by trying to argue if you agreed with me.

A terminal emulator

Git is easy to start with, easy to scale with, and solves a lot of problems other VCS can't. Not to mention it's a de-facto standard.

How is a detached head incompatible with the DAG model? It just moves the HEAD pointer to an otherwise unnamed node within the DAG...