What's your git power-level?

What's your git power-level?

Also /r/-ing the deep sea picture for git.

Other urls found in this thread:

github.git
learngitbranching.js.org/
twitter.com/NSFWRedditVideo

I use it every day, but my powers are limited. What are some Pro things I should know? Merging branches and fixing conflicts are probably the only non-noob stuff I do.

Same. Please enlighten

> Merging branches and fixing conflicts

I'm a noob and I know how to do that. Isn't it required to use it (unless you're working on a project by yourself)?

Most of my merging is done through github enterprise UI, but anyway if merging is noob 101 that's fine, still looking for tips to up my git game.

All I know is git clone

Use it for work, uni, and personal stuff. I can do most of the major stuff since I've used it so much.

Right click -> commit
Right click -> pull
Right click -> push

I'm glad my work place made it easy to use.

im more of a clearcase man myself

Of you can add, commit, merge, pull from different remotes, and know the basics of reverting commits, you pretty much have it all covered.

Oh, and checking out branches.

i know how to rebase

git clone github.git
git commit . -m "insert comment here"
git push origin master

>git commit . -m "insert comment here"
Won't do anything since you didn't add any changes
>git push origin master
Why specify the remote when you have only one?

...

Screw you nerd!

git rebase [-i]
git cherry-pick
git add -p
git reset (careful with this one)

>not using cvs

You should learn to rebase, and interactively rebase.
You should learn to split commits by adding only individual hunks.
You should learn to subscribe / un subscribe to remote repositories.
You should learn to stop using "git pull" to have control on how your shit's organized.
You should learn immediately about git reflog, which shall save your ass when something goes awry.

learngitbranching.js.org/

Git add .
Git commit -m "fucking kill me"
Git push origin master

don't obsess over tools so much. if you don't know what "non-noob" stuff you should learn then you probably don't need them. focus on actual programming.

git flow

For real companies that need to get things done.

I use git bisect, so I consider myself a kind of git demigod.

Are git branches really homeomorphic endofunctors mapping submanifolds of a hilbert space?

No, a directed acyclic graph will suffice.

squashing commits is probably the most complicated thing I do with it, so whatever that is.

Of course not, it's just a five dimensional torus embedding.

I've had a git forever b ut barely use it since it's horrible and filled with sjw fucks

Ok, thanks, never used git! _( 9+,4-523-,/ :+1 -(4 !3*,9:24 -( 1+_"5 .*'2 42,42 (:*( -( -4 *, *9)9"-9 /3*@:

i'm using mercurial

How's life?
I've read the whole git manual and most of it is useless in everyday work. A solid understanding of `git rebase` gets you 99.9% of the way. Also `git reflog` if you've fucked up. `git worktree` if you ever need to have two trees checked out at the same time.

Of course not, not even a metric space is useful.

my favorite git checkout -orphan technique. makes my gazillion commits disappear and project sprung up instantly. :^)

Just rebase -i --root master and squash.

What level is
>having your whole company's code in a single 34 GB repo

That's 34 GB per checkout btw.

Looks like my previous job.
They previously used used a huge SVN repository and converted it to git.
Of course, with SVN you can just checkout a separate directory and organize it so that a directory equals to a project.
In git it is not the case.

I'm the only person that uses git CLI instead of SourceTree at work.

>not telling us the story of cli making you 470% more productive then those gui fags
>bitches don't know about my git command aliases

I'm the only person that uses git svn at work.

I'm too smart for using this bloated mess known as git

SourceTree makes your pull take 10x longer than CLI if you use one or more submodules. That alone makes me more productive.

IT'S OVER NINE THOUSAAAAAAAAAAAND

what power level do I get for having dozens of files named like "new_", "newnew", "oldnew", "new1" etc. on my desktop?

idiot level

here we go...
also
>using submodules

Me 2 m80. I use cvs. Shit is so light and useful. Why would anyone want branches lol?

What's wrong with submodules?

at what level having your own git aliases/commands fit in?

It's literally impossible to do a shallow clone if there are submodules involved.

I work with a literal full blown autist, who had never heard of version control until someone pointed it out to him a few years back and then he dug himself so deep into git material that he now tries to solve everything with it. He even wrote his own half-baked library that produces semi-valid git repos, which he then uses to archive pictures and pdf files (that never change), where any sane person would simply use zip or something.

He says he understands git completely, but he only understands the low level mechanics. He doesn't understand how to properly use it. Like a car mechanic who knows every part of a car, but couldn't drive a mile without crashing it into a tree.

I would say his powerlevel is insane, but then again, he can't control it at all, so what's the point.

I know enough to create, maintain and work with normal git repositories. Branching, merging, or rebasing, the standard stuff. Time spend learning to write better code is much more valuable than operating a fucking repo.

Lol. Good analogy, because while he understands how git works he doesn't understand that using it with binary files is straight retarded.

git commit-tree (git cat-file -p $1 | grep tree | cut -f1 -d" ") -p HEAD -m $2

thats prob the deepest i got

bzr master race reporting in

When asked why he didn't simply use a regular archive format, he answered that this added an extra layer of security. He believed that if "hackers" actually managed to get on our server, they'd be frightened away by weird looking git repositories.

When asked why he didn't use encrypted archives, he got irritated and rattled off some story about future plans he had which wouldn't work any other way. We still haven't figured out what those plans are.

>git filter-branch
you're a true git master if you can fire up one of these bad boys without triple checking your command before sending it

mentally challenged retard tier.

server side post receive hooks to trigger ci stuff

i know a software company that doesn't even use version control, they literally edit comments at the top of each file stating who modified it and when

Tell that guy about git-annex and watch how euphoric he gets while reading its man pages.

Is it that difficult to type those things into a terminal?

Shortcuts (ga, gst, gc, etc.) and branch renaming are about as far as I go

That actually looks interesting. I want to see how he responds, although he generally doesn't like any suggestions coming from colleagues, if he likes it he usually later returns with it as if it was his own idea (which he then really seems to believe).

Git bisect is magic. For those moments you dont wanna dig through other people's code to find their bugs.

Do the comments also contain the old unmodified code? Or do they just comment it out in place and write the new code? Because I could see this still funtioning just fine if done right.
>new comment at top of page describing which line(s) was changed, when, and by who
>jump to lines and see commented out old code
>determine if new code is better than the old code, or if another way is better

Though I guess determining what the new code is might be tough if it doesn't translate line to line from the old code.

i guess the old code isn't commented out, tho they might have backups or something
i never worked with them, i only know someone who does

they only manage to make it work because they are small and there never are more than 4 people working on development
i really don't see any good reason for them not to use version control, the small time investment needed to maybe learn it and configure it on existing stuff would surely pay for itself but whatever

I know repositories are graphs. Well everything in the world is a graph of some form so that's a cheap abstraction.

I just google whatever outside-the-norm thing I have to do.

How advanced am I if I don't have any problems rebasing complex branches?

How is it even possible to have 34 GB of text?

probably some pajeets are regularly committing binary stuff

It's not strange. Git is a content-addressable filesystem with a convenient source code version-control interface on top.

As far as I know, git with binary files is retarded because it's delta calculation program is designed for small files -- it will literally load their entire contents into memory before deltaing them

I really wish somebody would simply fix that already so we can move on from this meme.

>Well everything in the world is a graph of some form so that's a cheap abstraction.
yeah, but they are directed graphs, which make the "parent" relationship easier to work with

Bretty low :DDDD
We are using SVN.

The submanifolds are significantly discrete objects, so a Hilbert space is a poor choice because analytic techniques are... unreliable between git branches.

You can only easily go one way though, it's much more difficult to locate the descendants of a check-in than the parents.

I can git push on a whiteboard.

I've seen idiots who store dependencies/libraries in the repo with the reasoning that it works on any computer. Also, Images/videos/anything to do with graphics can eat up space quick

holy shit this is a fantastic idea

Is there any cool git feature I should know about? All I usually do is rebase or cherry-pick from branches, stash shit, commit, and manage remote repos.

I'm not even sure what it is.

I usually use cli / JetBrain's git integration. For resetting /viewing diffs I use gitk.

Last week I learned that the real deal is understanding and using all merge strategies.

If each of your programmers have their IDE's tab policy configured differently, and even worse, they auto correct all the files upon opening, merging is going to be a huge real mess.

Also, windows \r\n and Unix \n kills the man.

My commit history is pretty sad. I don't know what I was wasting my time on last year

>not using gitlab

my git powerlevel is messing up merges of projects i'm working on by myself and fighting cryptic git error messages for 2 hours at a time until i just fucking throw my hands in the air in frustration and re-create the repo.

>git rebase [-i]
never use this
>git cherry-pick
never use this but it s nice to have
>git add -p
never use this, the --patch part anyways
>git reset
Use this all the time

If you don't rebase your feature branch off master before merging with it, you are the devil.

I like git diff HEAD

Just to make sure Im not commiting something stupid.

git push --force[/base]

...

If you don't use Magit, you're not above intermediate level.

what's so great about it?

> gitlab
what is that

>gitlab
>what is that
proof that devops is a bad idea

is git gc worth it?

i have a 100kb .xlsx Excel document that i want to keep track of, but since it's a binary the repo just balloons in size :/

...

more like this?

I'd consider myself expert. Been using for 2 years professionally and a few years in school for various things

I'm rarely tripped up by anything these days and git flows out of my fingertips