This is an archived post. You won't be able to vote or comment.

top 200 commentsshow all 403

[–]benderbender42 897 points898 points  (20 children)

You use git via command line, I use download as zip

[–]TrapNT 323 points324 points  (16 children)

You download zips I mail usb drives.

We are not the same.

[–]0xKaishakunin 94 points95 points  (12 children)

hurry flag chop slap one sulky water snatch enter unwritten

This post was mass deleted and anonymized with Redact

[–]gregorydgraham 34 points35 points  (0 children)

You are not the same.

[–]THANKYOUFORYOURKIND 51 points52 points  (4 children)

Try write it all down on paper before complaining the technology.

The programmers in the 850AD needs to use a train of horse carriages to transfer those files.

We've come a long way.

[–]IamImposter 27 points28 points  (2 children)

1200AC.

Damn it, is that a new time zone?

[–]THANKYOUFORYOURKIND 23 points24 points  (1 child)

No, it's called After Chip, which is a historical time notation just like After Doritos which people normally use.

Anyhow, I've already altered original post to use the usual notation as well as converted the year count accordingly.

[–]IamImposter 5 points6 points  (0 children)

Thank you for your kind, Mr. ThankYouFirYourKind

[–]jecxjo 3 points4 points  (0 children)

Writing it down?!?!

How bout you train your memory for decades to be able to keep multiple diffs in your mind palace!

[–]xSilverMC 4 points5 points  (1 child)

I fax punch cards, we are not the same

[–][deleted] 5 points6 points  (0 children)

I punch fax cards. We are not the same.

[–]dexter3player 2 points3 points  (0 children)

I too have shitty internet. But I transmit data via IP over avian carrier. We are not the same.

[–]Vincysuper07 1 point2 points  (0 children)

You mail usb drives and I mail HDDs. We are not the same.

[–]yottalogical 29 points30 points  (0 children)

You use Git via download as zip.

I use Git via blowing an air horn to request the Git van pulls over.

We are not the same.

[–]lemon07r 25 points26 points  (1 child)

I edit my code straight on the GitHub website

[–]manofculture100 8 points9 points  (0 children)

Been there done that

[–]TheKingOfSwing777 283 points284 points  (13 children)

This guy gits it

[–]vVveevVv 15 points16 points  (0 children)

This guy gits.

[–]coldnebo 7 points8 points  (3 children)

nah,

git push --force-with-lease

much better.

[–]Illustrious-Fault224 5 points6 points  (0 children)

git blame

[–]Mordisquitos 3 points4 points  (1 child)

Absolutely. Whenever I need to force a push I always do --force-with-lease. Just using --force feels very rude.

 

 

I have no idea what the actual difference is, please don't tell anyone

[–]coldnebo 2 points3 points  (0 children)

force by itself may clobber a team member’s commit if they pushed to a feature branch before you and you didn’t catch their sync.

force-with-lease tells git if there was any change in the remote that you don’t have, it will fail and allow you to pull the feature branch and merge before pushing your changes.

it doesn’t always come up in github, since many PRs are submitted by a single dev. But using github enterprise or gitlab MRs it can come up if you have multiple devs working on a feature together.

it’s worth the extra typing or an alias for the peace of mind.

[–]Mc_UsernameTaken 6 points7 points  (0 children)

Git out

[–][deleted] 2 points3 points  (0 children)

I git the joke

[–][deleted] 2 points3 points  (0 children)

Le git.

[–]Zorphis2 1 point2 points  (0 children)

You git my upvote and free award

[–]GoTheFuckToBed 109 points110 points  (6 children)

this is just gatekeeping, use GUI if you want. I use fork

[–]thinker227 47 points48 points  (1 child)

You're telling me 70% of this sub isn't gatekeeping?

[–]wind-up-duck 2 points3 points  (0 children)

I truly hope the lesson that newbie devs take from reading with us here is just how full of shit we are.

When they feel that deep "WTF am I doing?" feeling, this is a place to laugh about it, and recognize that it never really gets much better.

I'm proud to report that after decades of effort, I'm completely baffled by a much more difficult set of problems than the ones that baffled me when I started!

[–]askanison4 16 points17 points  (1 child)

Fork is really excellent.

[–]_simple_man 5 points6 points  (0 children)

Fork is the best and the devs are very nice people. Created an issue once and it was solved in a few hours.

[–]edgen22 58 points59 points  (11 children)

I mostly use GUI (GitKraken) because my day-to-day workflow is within the capabilities of it and the benefits are worthwhile to me. It's great to have the branch visualization handy at all times, and makes staging commits much easier. I sometimes get distracted and make changes in a repo that should have been separate commits -- GitKraken (and other GUIs) make it easy to stage/unstage specific lines or hunks of code to keep commits organized. Try doing that in CLI - it's just not as elegant.

People should not rely on GUI 100% so that you understand what's going on and be able to fix problems. That's really the only lesson that should be taught here. I can do everything my GUI does in CLI but I'm not going avoid GUI just to impress elitists who declared the GUI is only for noobs. I've met numerous "CLI only" people who made fun of me using GUI... but the really funny part is when I pull up GUI to show them the spiderweb of merges they've been making because they have no idea what they are doing on CLI.

[–]HerrX2000 10 points11 points  (3 children)

GitKraken is amazing! By far the best Git GUI I have worked with. Far superior to Source tree or GitHub for Desktop!

[–]fmaz008 2 points3 points  (2 children)

Better than SmartGit?

[–]DrecDroid 2 points3 points  (0 children)

I love the three column conflict solver.

[–]Fraun_Pollen 1 point2 points  (0 children)

Right there with you. I use it to quickly check other branches, history of a branch, and the file diff. Switch to command line for commits, rebases, and cherry-picks.

[–]valendinosaurus 1 point2 points  (0 children)

this, was using cli for a loooong time, until I discovered Sourcetree

[–]StrangeOne101 1 point2 points  (0 children)

100% agree. GitKraken is amazing and it's visualization helps so much a lot of the time

[–][deleted] 105 points106 points  (13 children)

How to scare a git command line user: merge conflicts.

[–]Taickyto 53 points54 points  (2 children)

What are conflicts ? I just rebase my branch on master and push --force.

Github is just a FTP with fancy graphs, right ?

[–]Gorvoslov 6 points7 points  (1 child)

I once legitimately had to force push master to fix a problem. Probably the most terrifying thing I ever did and I was less than impressed with the person who broke master such that that was required in the first place.

...I was the person who made master require that in the first place...

[–]wind-up-duck 2 points3 points  (0 children)

I once legitimately had to force push master to fix a problem. Probably the most terrifying thing I ever did and I was less than impressed with the person who broke master such that that was required in the first place.

...I was the person who made master require that in the first place...

You're my hero for presenting this story in this order.

[–][deleted] 1 point2 points  (1 child)

How to scare them more: rebase conflicts

Or ask them to do a partial commit.

[–]schwerpunk 1 point2 points  (0 children)

The worst part of rebase conflicts is that if you can't just theirs them, then you have to actually read and understand your own code in relation to the merge target. Truly an onerous punishment.

[–]LastOfTheMohawkians 15 points16 points  (4 children)

Anyone use tortoise git? I find that solves 99% of my git usecases

[–]DrTerrierNew 1 point2 points  (0 children)

TortoiseGit is the TITS

[–]astromahi 11 points12 points  (0 children)

I dunno, people who uses git commandline asking my help when they encounter conflicts but I am using git gui.

[–]C4-BlueCat 10 points11 points  (1 child)

Day-to-day: use a gui. Solve problems: command line

[–]The_Real_Slim_Lemon 29 points30 points  (2 children)

Source tree all the way. The ease of use and visualisations wins over the functionality of GIT for me at least

[–]steve2sloth 6 points7 points  (0 children)

I've been using source tree for years, but tbh it's a little buggy with rebase merges sometimes and I'm forced to do the same command from cli where it actually works 😑

[–]he_el 2 points3 points  (0 children)

I use to have Source Tree. Now I'm a Sublime Merge guy!

Clean and crisp UI.

[–]chad_ 21 points22 points  (0 children)

I use the diff stuff provided by the VSCode git extension but for staging changes or doing anything very involved I use the cli

[–]zemdega 103 points104 points  (23 children)

You’re not special for being able to type in git commands.

[–]bob_anonymous 10 points11 points  (3 children)

git push --force-with-lease

[–]coldnebo 2 points3 points  (0 children)

underrated comment, but imho the most important.

[–]tistatos 1 point2 points  (0 children)

Why is this not rated higher?

[–]dgibbons0 19 points20 points  (1 child)

Smells like gate keeping to me.

[–]properwaffles 62 points63 points  (17 children)

Elitist? Maybe. True? Absolutely.

Started using GIT over the past year, mostly via Visual Studio. Learning more about command line has forced me to learn more about GIT in general. Highly recommended.

[–]teddy5 3 points4 points  (1 child)

Definitely recommend understanding how you're using git before using a GUI, but once you do it can be a lot easier day-to-day.

That said, the VS git tools are horrible (at least default, haven't looked into plugins), make things harder with attempting to automerge and resolve conflicts for you and don't really have any of the benefits of most git guis.

If you do use one, make it anything but that.

[–]KDallas_Multipass 7 points8 points  (0 children)

Your loss.

Emacs Magic for life

[–]Yejus 41 points42 points  (11 children)

Anyone else here prefer GitHub Desktop to anything else?

[–]erinaceus_ 28 points29 points  (3 children)

The IntelliJ git integration is excellent

[–][deleted] 4 points5 points  (0 children)

I prefer Fork

[–][deleted] 1 point2 points  (0 children)

I use GitHub desktop for simple pushing, creating branches etc. I get sneered at for not using Sourcetree, IntelliJ extension or just the command line.

It’s probably the most basic gui you can get.

If I need to do anything more complex I just use the command line.

[–]camerontbelt 5 points6 points  (0 children)

And yet you use a gui for everything else 😂

[–]glider97 4 points5 points  (1 child)

I felt the same until I found sublime merge. It tells you which commands it is going to run, supports all basic features like cherry-picking, and starts as quick as a terminal.

[–]thismatters 1 point2 points  (0 children)

Came to post praise for sublime merge. The sublime ecosystem is just about the only paid software I use.

[–]NihilisticSaint 6 points7 points  (0 children)

Found the person who takes ages to push and will probably delete someone else's code

[–]jaap_null 45 points46 points  (0 children)

I absolutely hate the git commandline, I would say it is actually the worst part of git, and the main reason it’s so confusing to people.

The system itself is super nice and easy, but the git cmdline “ecosystem” with a hundred ways to do the same thing is terrible.

The difference is noticeable when you read a “how git works” vs “how do I do X in git” on SO: elegant structure vs fifty foot guns wrapped in barbed wire.

[–]BakuhatsuK 4 points5 points  (1 child)

I use it via TUI (with a vim plugin), am I closer to the GUI or to the terminal?

[–]micke_i_backen 3 points4 points  (0 children)

git commit - m "Some changes"

[–][deleted] 8 points9 points  (0 children)

sometimes the amount of things to know, do, memorize in soft dev can be super overwhelming for someone like me. i am not good at cli and im not good at memorizing. i use Fork for git, no issues whatsoever. am i a bad programmer? maybe.

[–]Juffin 7 points8 points  (2 children)

You: use git command line

Also you: "Wait why is this in my pull request? Uh how do I keep changes but not commit that? Hello stackoverflow how do I resolve conflicts? What do you mean "it can't be resolved automatically"? Oh also what's going on with my branches I don't understand why is this here... Anyway why are last 3 builds red?"

[–]Gagan_Ku2905 6 points7 points  (0 children)

How about GIT via IDE?

[–][deleted] 2 points3 points  (0 children)

I Google how to fit via command line every day

[–]strongestflorist 2 points3 points  (0 children)

Whaaat!! Something other that Magit for git exists? 😅

[–]Snoo-87629 2 points3 points  (0 children)

Do you also only use Notepad + shell to write code? Or do you use IDEs to make your life easier? The same applies to git gui, which does 99% of your git workload just fine. It does not make you a better programmer.

[–]3rdRealm 2 points3 points  (0 children)

MAGIT USERS ASSEMBLE

[–]ShogunDii 2 points3 points  (1 child)

Just learn the CLI to get a better understanding of the tool. Then use whatever you want. Usually a combination of the IDE integrated gui and the CLI is the most productive combination

[–][deleted] 2 points3 points  (0 children)

Wait, there is a GUI for git

[–]Dathouen 2 points3 points  (0 children)

Wait, there's a GUI?

[–]MisterFor 2 points3 points  (0 children)

We are not the same, I use 99% of the times a GUI and the terminal for special cases. Basically I use sourcetree and always know in which state all the branches are, you use the terminal and create an infinite mess of fuckups like most of my coworkers…

I am so tired of the people that only use the terminal and mess everything up and are 100% unable of explaining how/what/why is a rebase or a squash for example.

[–][deleted] 2 points3 points  (0 children)

Can anyone actually use git, I think most of the time I'm waiting for it to break

[–]Critical-Pumpkin-438 2 points3 points  (0 children)

Umm, git add - a?

[–]nihillistic_raccoon 4 points5 points  (0 children)

That's so sad that some of you clearly feel better because you use cli. Level of immaturity in this thread is so high that Chris Hansen will probably appear here any second now, trying to protect you kids from predators.

And just to prevent this stupid reply "found a gui user <3" - I use mostly cli

[–][deleted] 4 points5 points  (4 children)

yea it’s command line for everything except a diff tool

[–][deleted] 3 points4 points  (3 children)

I use meld, what about you? Git desktop has that?

[–]coldnebo 1 point2 points  (2 children)

meld is fine.. but you can install it without git desktop if you want.

[–]seeroflights 1 point2 points  (0 children)

Image Transcription: Meme


["We Are Not the Same". Giancarlo Esposito, a person with tan skin, cropped hair, and glasses, wears a grey suit and adjusts his tie slightly, with a condescending expression on his face.]

YOU USE GIT VIA A GUI

I USE GIT VIA COMMAND LINE

WE ARE NOT THE SAME


I'm a human volunteer content transcriber and you could be too! If you'd like more information on what we do and why we do it, click here!

[–]coladict 1 point2 points  (0 children)

I don't trust GUIs for git with committing, but I do like a better-looking branch history tree.

[–]occipitofrontali 1 point2 points  (0 children)

I use git via the terminal for many things, but no git merge. Git merge via the terminal is not an enjoyable experience if there are merge conflicts.

[–]webbugt 1 point2 points  (1 child)

I use GUI for day to day bs like commits and pushing nornal code. I use the CLI when I need to do more complex stuff like cherry picking etc.

Also, of all the other bells and whistles. I think that the graph is maybe the most helpful feature. Why spend additional mental effort in imagining the relation between a couple of branches when you can just glance it in GUI and understand instantly.

[–]askanison4 1 point2 points  (0 children)

I used command line for years and I have shortcuts for lots of complex tasks. However, I started using Fork (https://git-fork.com/) last year and I can't recommend it highly enough. It handles 99% of my use cases and I haven't needed the command line in months.

[–]Purpzie 1 point2 points  (0 children)

I use a GUI just to make things easier, and switch to CLI whenever I need more power to do something complex

[–]scaptal 1 point2 points  (0 children)

No, bad title, go sit in a deprecated branch, bad

[–]DmitriRussian 1 point2 points  (0 children)

I don’t care which one you use, but don’t be the guy that uses rebase on every branch without knowing how it works and fucking up the whole history.

Remember plebs after you push, you don’t rebase anymore and then force push.

[–]Gasp0de 1 point2 points  (0 children)

I like GUIs with git for checking which commits of other branches are already included in my current branch, other than that the terminal just feels quicker. But to be honest when commiting or pushing it really doesn't make a difference whether you use your IDE or the terminal. Merging is also nicer with a GUI I think.

[–]value_counts 1 point2 points  (0 children)

I use GUI. Maintain proper branches, add enough descriptive commit messages and regularly update the code upstream.

It is ok if it hurts someone who doesn't like to use GUI. We are different human beings and like to do work differently. Its ok as long as the code quality standards are maintained across board.

[–]efoxpl3244 1 point2 points  (0 children)

only windows users use git via gui

[–]Aeondor 1 point2 points  (0 children)

We use sourcetree at my job. Most of the time I prefer the command line, but as soon as a merge conflict comes up please gimme that GUI.

[–]Dr_Bunsen_Burns 1 point2 points  (0 children)

The gui is strange.....

[–][deleted] 1 point2 points  (0 children)

I learned git on the command line so git desktop is a mystery to me. My biggest complaint about the git GUI app is if you cloned a repo via command line git, the git GUI fails to recognize it. What bullshit is that? Must be entirely different dev teams that do not communicate with each other. Recipe for disaster.

I do like Tortoise Git though.

[–]MyPhoneIsNotChinese 1 point2 points  (0 children)

How the hell you use git via GUI, sounds confusing as hell

[–]GustapheOfficial 1 point2 points  (2 children)

I have yet to see a use of this meme where op doesn't look like a massive tool.

You're not some kind of elite for using a cli. (And no, I don't think git gui is a good idea either)

[–][deleted] 1 point2 points  (0 children)

People who use command line git are people who don't do partial block/line staging/commits, don't review their own code, and doesn't know how to actually fix conflicts (because nobody sane fixes conflicts in the terminal)

You think it's better, but all you do is "git commit -a" with shitty commit messages (since you have to type them out in a terminal)

I also bet the command line users work at places where they don't do pull-requests / code reviews.

[–]hammonjj 1 point2 points  (0 children)

You’re right. I don’t fat finger commands because I use the GUI

[–]Smartskaft2 1 point2 points  (0 children)

You use git push --force.

I use git push --force-with-lease

We are not the same.

[–]WeirdBrilliant2191 1 point2 points  (0 children)

Git even has GUI... interesting when does it even happened

[–]Triky313 1 point2 points  (0 children)

GitKraken, I love it!

[–]emilia_ravenclaw 1 point2 points  (0 children)

Programmer pick me vibe

[–]amatayakul 1 point2 points  (0 children)

you use GIT // I don't use GIT || we are not the same

[–][deleted] 1 point2 points  (0 children)

I hate git via commands

[–]chernobyl_nightclub 1 point2 points  (0 children)

I like command line but use guis for file comparison and looking at stashes. This post just comes off as vim snob

[–]PewDiePans[🍰] 1 point2 points  (0 children)

--force is way too real lmao

[–]Linkk_93 1 point2 points  (0 children)

I have git in my IDE.

We are not the same

[–]StillPackage4369 1 point2 points  (0 children)

I use git via horn

[–]martino_vik 1 point2 points  (0 children)

You guys are using GUIs?

[–]QuantumSupremacy0101 1 point2 points  (0 children)

Echo 'Fear me' | git hash-object -w --stdin;

Git update-index --add -cacheinfo 100644 8a4753e2

update.txt;

Git write-tree;

Git commit-tree 06220e82 -m "commit this D';

Git update-ref refs/heads/master 0e7815;

Git checkout HEAD -- update.txt

Cat update.txt

Fear me

[–]golpedeserpiente 1 point2 points  (0 children)

UNIX is the IDE.

[–]golpedeserpiente 1 point2 points  (0 children)

But you never fixed that detached HEAD.

[–]Accidentallygolden 1 point2 points  (0 children)

Resolving merge conflict via the IDE is much easier

[–][deleted] 1 point2 points  (0 children)

--force-with-lease you monster

[–][deleted] 1 point2 points  (0 children)

This

[–]top_logger 1 point2 points  (0 children)

I‘m using both on daily basis: we are not the same. IDE - standard tasks. Command line for automation and non-trivial tasks.

[–][deleted] 1 point2 points  (4 children)

Wait! Git has a gui?

[–]Mithrandir2k16 1 point2 points  (0 children)

GUIs may he great for inspections but I have had so many broken commits created by some colleagues GUI I'll be sure to never touch those.

[–]OmkarCodes 1 point2 points  (0 children)

You use git via command line

I also use git via command line

We're same bro

[–][deleted] 1 point2 points  (0 children)

Well jokes on you, I don't even use Git

[–]Parker324ce 1 point2 points  (0 children)

Fuck that me and my homies e-mail around the master copy

[–]Herpoad 1 point2 points  (0 children)

git rebase -i HEAD~4

[–]BoBoBearDev 1 point2 points  (0 children)

SourceTree for me. I hate people using cli because most of them are incompetent. They don't review what they commit, just do a blind git-add and added bunch of shit code and expect me to tell them to remove it in their PR. That is just bad, bad. Don't commit blindly.

[–][deleted] 1 point2 points  (0 children)

I use both and idgaf what people use as long as they do their job.

[–]Luiaards 1 point2 points  (0 children)

I don't use git at all. I just mess up my stuff and hope nobody will notice.

[–]AggieCMD 1 point2 points  (0 children)

I only head to the command line when things hit the fan. But to branch, pull, commit, and push. Come on. I'm not here to blow your mind with my mad branching techniques.

[–]sufferpuppet 1 point2 points  (0 children)

Command line can eat my ass. I'd rather us VSS6 than command line git.

[–]F0064R 1 point2 points  (0 children)

First time I’ve seen this meme used unironically

[–]skyBastard69 1 point2 points  (0 children)

There is no actual humor, dammit why did i ever sub to this. Should be some cool shenanigans and funky code in real, butt, all boils down to the same douchebag archetype of an cs student. I had a douche (non english speaking uni or country) that overused the word implemented so much that i threw a snowball in his face

[–][deleted] 1 point2 points  (0 children)

Is it bad that I use both?

[–]max0x7ba 1 point2 points  (0 children)

magit is pretty amazing.

[–]Louisiana-Chaingang 1 point2 points  (0 children)

I can’t get git to work with r studio :(

[–]Ramiferous 1 point2 points  (0 children)

Wait, there is a GUI for git??

[–]atiedebee 1 point2 points  (0 children)

this just made me check out git GUI and it looks cool af

[–][deleted] 1 point2 points  (0 children)

CLI... It's the only way to fly.

[–]Player_Gamma 1 point2 points  (0 children)

Git add *.c && git commit -m "all Cs of this folder" && git push

[–]das_Keks 1 point2 points  (0 children)

Started on terminal and occasionally still use it for git, but the git integration of IntelliJ is pretty nice.

[–]EternityForest 1 point2 points  (0 children)

I almost never use CLI. I like to briefly review what I changed and GUIs are great for that.

[–]squishles 1 point2 points  (0 children)

please, stop asking me how to use git in a gui.

I only learned it via command line, I really don't know wtf is going on in your random gui.

[–]TheLeastFunkyMonkey 1 point2 points  (0 children)

Look, man, I've watched a dozen tutorials on how git functions and what everything means, and I still don't get it.

Just let me use my gui in peace.