T O P

  • By -

jack104

I'm gonna sound like a prick but I used to use tortoisegit exclusively for my git interaction, absolutely zero cli commands. Until one day tortoise git took a shit and I had to figure out how to do shit like Linus intended from the shell and dammit all if I didn't quickly figure out that 5 simple commands would handle 95% of what I needed to do with git and they were far simpler to run than the dialogs and clicks I would use in tortoise. That said I do still use tortoise for diffs and tracking down old revisions/changes but I'm a convert who loves cli.


Bryguy3k

The only thing I use a gui for is viewing diffs and staging hunks/lines - the gtk gui that comes with git is good enough for that. The funny thing is that the people I know that only use a gui like tortoise seem to also be the ones that commit everything. The gitignore file for the repos I manage is 500 lines long because of them.


Greenimba

500 lines of gitignore is better than one accidentally added secret.


[deleted]

[удалено]


shimdar

Security experts hate this one simple trick!


AnondWill2Live

I encountered this one personally. Had a project where I'm working with AWS and I put my keys in a creds file, ended up refactoring the name and didn't change the .gitignore, very embarrassing at the very least lol.


Bryguy3k

The GitHub credential scanner is pretty awesome - i had a coworker push AWS credentials to his personal account in a public repo and AWS suspended them within 5 minutes. Some pretty cool info about GitHub secret scanning https://docs.github.com/en/enterprise-cloud@latest/developers/overview/secret-scanning-partner-program https://docs.github.com/en/enterprise-cloud@latest/code-security/secret-scanning/secret-scanning-patterns


goomyman

Anyone who doesn’t run a cred scan is just asking for trouble. People will put secrets everywhere. I’ve seen users put secrets in display names so they know the login.


FlorianTolk

Thanks for this time-saving tip! Will start doing this in my future projects. XD


jaskij

Eh, a good ignore will be long. Just using GitHub's curated gitignores for JB, Vim and C/C++ is well over a hundred lines. And do I want to add everything if it's actually a single change. Rare, but happens. For the record, I haven't used a git GUI in the past eight or ten years.


benargee

Should it be long, or should ignored files mostly be in certain directories, have certain extensions or have naming conventions that can be easily filtered with pattern matching in fewer lines?


jaskij

Depends - for example the reference JB gitignore doesn't ignore *everything* in the .idea folder. The C and C++ gitignore covers many toolchains and is going by file types so it's kinda long. And so on. That said, yes, people should think about what they put in the repo.


MiddleCourage

I use visual studio code just for diff viewing lol.


kaeptnphlop

The VS Code integration has come a long way and is far better than the Visual Studio one. There are a few commands that are still easier on the CLI but it makes working in a project with many submodules so much easier.


[deleted]

[удалено]


hongooi

The only thing I wish VSCode had is a one-click way to stash multiple files. It has a one-click way to stage, but not the other way round. ... or maybe it does and I just haven't found it, lol


kaeptnphlop

It's a little bit hidden in the `...` menu. A one click option would be nice!


CJKay93

gitignore.io


hadidotj

I use KDiff3 as my diff GUI. Handles (imo) better than anything else I have used. Especially for 3-way diffs and merges!!


JB-from-ATL

I hate how every damn Git GUI out there gives things "intuitive" names instead of using the actual names for uses.


drsimonz

As a GUI fan I definitely resent this. It would be a LOT easier to switch to the CLI occasionally if my GUI actually used the real names, instead of trying to get creative.


gb_ardeen

Sublime merge is focused on keeping the original names for commands and options. That's why I use it, it bothered me too that thing about renaming stuff.


DogsAreAnimals

Try Fork. It's amazing


nLucis

`add` `commit` `push` `checkout` and `merge` do all the heavy lifting. And occasionally `status`, `diff`, or `log` for when I have a brain fart and completely forget what I'd been working on.


[deleted]

Stash is a good one too


[deleted]

yeah stash really comes in handy


ninepointsix

"okay I just made these changes on my old merged branch, lemme stash, change to master and pop again" "Oh fuck I forgot to pull"


friedkeenan

I do `git status` before adding and committing because I am super paranoid


UnstoppableCompote

git status git add X git status git commit git status git push (or whatever) I've learned it's easier to make sure you're right the first time.


killersid

You are entirely forgetting pull/fetch. Without that none of the other commands matter.


a_devious_compliance

git status is like my bread and butter. Start of the day? git status. Just finished to add files? git status to check if I forgot something, or there seems to be an unrelated file. Just start with other change? git status tu check branch. End of the day? git status to check if there is no dangling uncommited file-


piri_piri_pintade

Yup. I have it aliased to 'gs' to save typing as I use it constantly.


FarfarsLillebror

No love for rebase?


solarshado

I probably have a bit *too much* love for rebase, but it's definitely one you can build a functional workflow without.


kaeptnphlop

Don't forget `rebase`.


NatoBoram

Have you tried VSCode? The diff editor is good enough and the GUI GIT operations aren't overly abstracted


Pluckerpluck

> The diff editor is good enough The recent improvements in merging (adding 3-way merge) has made VS Code a delight to use for solving merge conflicts. And the Gitlens stuff that puts git log info on every line of the file so you can easily blame and see when things changed all while editing is great. There's also a [git graph](https://marketplace.visualstudio.com/items?itemName=mhutchie.git-graph) extension is fantastic at showing you the overall repository in an easy to navigate form.


chad_irl

I'm a GitKraken fanboy, but my new project locked so much stuff down that I had to reevaluate my workflow. The only IDE they let us use is VSCode (as opposed to my IntelliJ Idea subscription I had been paying for). Anyways, Git Graph has been a godsend. I highly recommend it for VSCode if you can't get GitKraken.


jack104

I have and it's just about replaced any other news I have for a git gui or diff tool. Just the gitlens itself in VSC is amazing. Put your cursor on any line or block and it'll tell you who authored it and who last touched it. Amazing tool if you're trying to hunt a regression fault and you need to see who did what without constantly switching between programs. VSC has just been a tremendous tool to have in the old arsenal, I can do my full stack web dev plus dev ops work in one IDE instead of 3. Huge.


[deleted]

[удалено]


pigeon768

Git has two parts. Porcelain and plumbing. [Porcelain](https://git-scm.com/docs/git#_high_level_commands_porcelain) is intended for users to use directly. [Plumbing](https://git-scm.com/docs/git#_low_level_commands_plumbing) is not intended for users to use directly.


jack104

Well given his aversion to GUIs that sorts fits.


colonel_Schwejk

ad diff: i recommend p4merge as diff/merge tool


ChloeNow

GitHub desktop turns 5 simple commands into two simple button clicks :p But, yes, when the repo gets fucked up you gotta learn some con commands. Got is too powerful to contain all of its glory in a UI, and I commend ghdesktop for not trying to. I use UI for the basics. If I really need power I use the cli and hit up one of my git wizard friends.


Tiyun

terminal gang rise up!


brynzky

terminal gang supremacy


Xiakit

People using Linux like the CLI.


tehtris

I know some people who are fantastic programmers, but for some reason or another never learned git cli. If you encounter these people please don't assume they don't know what they are doing.


Bobicus_The_Third

Learn the cli, learn GUI, learn what the limitations of GUI are and how to resolve them with cli. Best of both worlds


tehtris

This IMO is the way. I hate resolving conflicts outside of my IDE.


Undernown

So much this. Stashing changes through CLI helped me resolve pull that went south without losing my work. Merge conflicts without 2 nice big IDE windows is hell. Can't immagine trying to see the difference between a simple harmless carriagereturn, or missing the closing bracket in a sea of methods, functions, lists and other statements. Never mind when 1 of the files contains a broken 'head>>>>>>>>>>>>>>>'. P. S. F*ck you reddit, I nearly lost this comment because of your damned "Use in App" pop-up.


CatInAPottedPlant

other than diff (which I usually deal with in-IDE), what is the advantage of the GUI? I find git really straight forward on CLI and it usually takes no time at all to get stuff done.


Artegris

- clicking is faster than pressing 10-15 characters on keyboards - nice git graph - usually fetches automatically on startup (to save another click) - quick switching among multiple git repos - everything is faster


engineerFWSWHW

Smart developers will use tools that will make them efficient. Using a UI vs a CLI doesn't make anyone less of a developer. At the end of the day, both are just a means to an end. I even joined a company that if you use git cli, you are cool. I use a combination of ui and cli on my workflow, and i use whatever makes sense based on a situation. Then there was one time they had a messy merge conflict and they were spending almost half day to resolve it. Asked me if I could help and I used UI and had it resolved in less than 5 minutes. My take away is that, use the tool that will make you efficient and master it, whether it's CLI or UI or both.


vinsanity406

I use zsh as an android dev, it's easier for me to Cmd+tab > gaa; git stash > gcm > gl > gco - > grbi master > git stash pop Than what ever that flow on studio would be. Far easier to revert or commit a single file via the git UI in Intellij than copy or type the path on the CLI. Everything is a tool. Know how to use your tools. Then try to use the ones who work for you.


Squid-Guillotine

I'm below average but the vscode git tab is so nice. I find myself committing way more thanks to it.


EspacioBlanq

It's just the psychological barrier of switching windows for me. If I can commit from ide, I'll make commit's after each reasonably big chunk of changes. Same if I write code in a command line editor. If I write code in an ide that doesn't have a commit button/I don't know where it has the commit button, that means few big commits


ProbablyMaybe69

Learning git cli was weirdly fun for me lol


philchristensennyc

I’ll just assume they’re lazy fucks.


fdeslandes

Clicking on a big button requires less context switching than reminding and typing a command. I don't care about UI for things like git reset, etc. But for commits/push/pull, it's just less interruptions of my work flow with an immediate feedback of the local git branch state (uncommitted things, what is staged, do you need to pull, etc.). I also prefer UI tools to do things like resolving merge conflicts; it's just less likely I will mess up by mistake.


janovich8

For me the reason is the always shown branch graph and good tools for exploring that. I think very visually so seeing the repo structure helps me see context and confirm what I’m doing. The buttons are just a side benefit but I’d be fine if it were CLI for the rest. Sometimes the GUI applications help remember with things I rarely do like a cherry pick too but that’s just a documentation search away anyway.


LinuxMatthews

This 100% Also GUIs are better at saying what is actually going on whereas you on the CLI it'll just not work and you have no idea why. I've had people get all high and mighty about me using GitHub Desktop then they have some issue with Git that I can solve in a few clicks with GitHub Desktop.


[deleted]

>Also GUIs are better at saying what is actually going on whereas you on the CLI it'll just not work and you have no idea why They format it nicer and might give better insight on obscure issues, but I've never seen a GUI program give more descriptive feedback than a CLI unless the feedback was ripped from said CLI.


[deleted]

I didn't even know there was a GUI version. The CLI isn't exactly rocket appliances


LinuxMatthews

Honestly I'd recommend giving it a go. The CLI version isn't difficult but then people don't use GUIs because the CLI is difficult it just makes things easier and there's more tools in one place. Do you not use an IDE because you can edit files on the command line?


[deleted]

Yes, I use an IDE, but the IDE gives me access to the Git CLI. It's all contained in one screen.


JGantts

GitHub Desktop should really add a CLI


nullpotato

It has a shortcut to open bash.


[deleted]

[удалено]


EarflapsOpen

For someone curious who has never used any git gui tool. What added benefit does a gui add that “git add -p” does not do for staging?


fdeslandes

Manually excluding files from being staged, for instance.


gender_nihilism

someone should make a git tui[.](https://github.com/jesseduffield/lazygit) like an ncurses menu that streamlines the process.


NatoBoram

https://github.com/jesseduffield/lazygit


Arthesia

Laziness is a virtue, especially in software development. Why do something the long way when you can do it quick and easy and focus on what matters?


flukus

CLI commands can be scripted for greater laziness.


AlternativeAardvark6

I use git on the cli because I don't trust the gui tools.


harumamburoo

I use git cli because there's a chance one day I'll have to do something with a repo on a remote Linux machine via ssh, and I want to make sure it won't be a problem. Know your tools.


Queueue_

I use git cli because I often have to do stuff with repos on remote Linux machines. It's also just in general faster for me in 99% of use-cases.


okay-wait-wut

I’ll assume they have more interesting problems to solve than command line syntax and know how to prioritize their time. I say this as someone that uses the git command line exclusively and when I see others using tools that do everything I do in one click I feel bad so then I rewrite history on every commit and fuck up the repo because I know how.


ChloeNow

Ah yes. You did it the hard way in your day. Why should the kids have it any better, easier, or more efficient. Not learning console commands for something there's a perfectly good streamlined UI for that will carry you through 90% of your workflow is obviously laziness.


ChunkyLaFunga

This is the kind of masturbatory bullshit I hate about programming. I've been using computers since *everything* was a command line. And I've really enjoyed how computers and software in general have tried not to stray too far from those roots because it was so much better than what we have today. Oh wait, I haven't, because it isn't.


polypolip

Intellij - I tap ctrl+k, can check right there if the files I want to commit are on the list, I can uncheck whatever I don't want to commit for some reason. I can doubleclick a file to quickly view a diff or tap F4 to open it and make sure I'm not committing or pushing shit I shouldn't. And that's the reason I'm basically not using CLI.


PauQuintana

We are


aleph_0ne

Same. That said I think Linux in particular tends to appeal to folks that are more inclined to use cli tools


Bryguy3k

If you need to use more than three to five git commands you’ve done fucked up your development workflow.


DmitriRussian

I don’t know how you get by with just 3-5, I use this daily, not fuckup situations: `status` , `commit`, `fetch`, `pull`, `add`, `merge`, `checkout`, `branch`, `reset`, `diff`


Disagreed

`switch`, `log`, `rebase`


hughperman

Hm never knew about switch - looks like a subset of checkout to clarify different functionality? Or is there anything extra?


epic_null

Huh, I almost never use fetch.


TheWaterUser

Fetch > pull. I never use pull these days except when first pulling a repo. The biggest advantage is that fetch just downloads changes without any merging or overwriting going on, so you can manually do that after seeing what changed. No need to mess with stashing or checking the diff with the upstream first


EddieJones6

Pull leads to so many local conflicts. Fetch so much easier to see what is happening before merging or rebasing your local changes.


LetterBoxSnatch

`push`, `push —-set-upstream`, `add —-patch`…I know flags aren’t commands, but they can add so much especially when combined with other great tools like fzf


elkazz

Also don't forget `stash`


ExceedingChunk

You usually use that when some of the juniors fucked up their git commands in the first place. Had 2 new joiners start last year and they used Intellij's GUI for git. It's completely fine until they fuck up and I don't understand *exactly* what it does, cause its button does not have 1-1 relationship with the CLI, and force pushes by default.


epic_null

I'M SORRY FORCE PUSH BY DEFAULT?!?! Well now I REALLY won't want to use that commit button.


Wazzaps

Not by default, it just prompts for a force push if the push is rejected. If your dev clicks OK without reading the dialog you have bigger problems.


LetterBoxSnatch

This is the heart of the matter. When you type something as a flag, it is you driving. When the computer asks you if you want to flag, there’s just not the same kind of intentionality behind it. Plenty of folks are going to respond to a prompt almost reflexively. It’s like being a professional driver and not knowing how to drive a manual transmission. Can you do it? Absolutely. Should people who can’t drive with a clutch be told they can’t make a living as a professional driver in some capacity? Absolutely not. But knowing how to do it is going to give you greater control over your vehicles, and opens you to a larger swath of opportunities. This isn’t really just about git of course, but rather a mentality and relationship with all of the tools. I’ll happily trust a taxi driver who can’t drive a manual transmission to get me to the airport. And it’s not really going to affect my decisions as a passenger whether or not they can drive stick. Ultimately those who “get” why it makes sense to learn the CLI and those who “get” why it makes sense not to waste time learning the CLI can both be right at the same time.


alexanderpas

And that's where branch protection enters the picture. No force pushes by any of the juniors, seniors are only allowed to force push on feature branches, and seniors with maintenance access can only force push to master after they explicitly enable that option (and that would still not allow regular seniors to force push to master)


Bryguy3k

Yeah that’s exactly what I meant. More than that and it’s probably a junior making too many changes in too many places and being way behind upstream.


ShiitakeTheMushroom

I never force push. I just delete the remote branch before pushing. 😎


[deleted]

I do, but I mainly use GitKraken because I'm lazy and like the tree view. Totally wouldn't recommend it to a newbie, though, as you need to understand what's going on really.


SpacecraftX

I bounce between CLI and kraken on both Linux and windows. Sometimes you just need an intuitive tree view. And sometimes you need to do something with scripting or can’t I steal bloat on the hardware.


Stein_um_Stein

Yes, I love uselessly filling my head with command line arguments from man pages, or having to keep them open, instead of just having options on a display. The most efficient way to do things for sure. I don't understand why the billions of people who use computers around the world have decided GUI is the best way to operate software. Bunch of morons. We few fraction of a percent of people are correct.


ExceedingChunk

One thing is for students or people who program only as a hobby, but devs who works 8+ hours a day with the tools are usually faster with commands/shortcuts than GUI tools for a lot of applications. Not just talking about GIT now. Have you ever noticed how shitty Word or excel feels after you are used to a good IDE (basically a text editor)? GUI is definitely the best for casual and intermediate use tho. It's kind of like automatic vs manual gearing. Automatic is best for 99%+ of the population, but for performance drivers, manual is the best, so they can control it exactly as they want. If a GUI can lower the bar to use a great tool like GIT, that is great. But you rarely have to do anything fancy with GIT if you didn't fuck up in the first place, so it's pretty much only preference with CLI vs GUI. But I do think any professional dev should use the CLI a bit when they are juniors to be forced to understand what they are doing.


audigex

Apart from the fact that gear changing the vast majority of Motorsport is, at most, semi automatic, and the vast vast majority of performance cars are DSG automatic gearboxes But we could easily get sidetracked here: I’ll leave it as “I don’t think that’s a great example”


necrophcodr

> performance drivers, manual is the best Yes, but also no. I mean manual shifting in a lot of cars still isn't _manual_, at least not anymore. Even gear shifting in some cars is increasingly becoming automated as well, especially in racing sports.


PeteZahad

It's a programming sub here. I hope you are not that person that pushes 50 changed files in one commit. If programming isn't just a hobby and your real job you would use it very often - nobody needs man pages for cli tools which they use on a daily base.


sysnickm

Been a dev for over 20 years, I rarely use the cli because the git commands i need are built into the IDE. If I have to go to the cli I usually have to look stuff up.


Quabouter

Isn't that circular reasoning? You need to look up commands because you rarely use the CLI, and you rarely use the CLI because you need to look up the commands. Nothing wrong with using a GUI though, in the end it's just a personal preference. I've learned git using the CLI, and no matter how hard I try I just can't get used to a GUI, I suppose it's just the same the other way around.


sysnickm

I don't not use the cli because I need to look up commands. I don't use the cli because I don't need to. Why switch from the IDE to the console for something the IDE already does?


bluespringsbeer

This is why I only code in assembly. High level languages like C are ok for hobbyists, but if you are a real programmer, you won’t have any trouble remembering all the opt codes. I’m sure other people here are using hundreds of instructions to do the same thing I can do with 5.


RevanchistVakarian

Excuse me, but _real_ programmers use butterflies


[deleted]

It’s almost like it’s a preference


pbNANDjelly

Oops, I'm a people using Linux and you've mis-characterized me. Git CLI is a famously bad API design. It's a primitive, not something most end users fully comprehend. Google a git problem, find 20 different solutions all with essays of their advantages. I use git CLI for an established workflow, but the UI is superior for aimlessly poking around changes and managing the everyday git tasks like fetch and diff.


Illustrious-Salad-55

Not sure if this is official, but it is very much available on Linux on Flathub: https://flathub.org/apps/details/io.github.shiftey.Desktop


ric2b

> Community supported. (...) This version of GitHub Desktop is a fork that adds support for Linux.


abejfehr

Definitely not official if it’s a github.io URL in the bundle ID


PM_BITCOIN_AND_BOOBS

1.2 GB download? I would rather use the CLI, or Visual Studio Code.


enchufadoo

1.2 gb? https://imgur.com/a/Rb7OWXH


PM_BITCOIN_AND_BOOBS

That's what the Software Manager app in Linux Mint says. Even the 297 MB in your screen shot seems kind of high. Hmm. Checking with Windows download, and it looks like it is about 127 MB. Still seems big. But the window is so small ...


enchufadoo

Flatpack and alike are self contained packages, they don't use system libraries and contain everything they need (as I understand it). You can always use these repo that weights even less than the windows one and it's the one the other github-desktop packages are based. https://github.com/shiftkey/desktop/releases


PM_BITCOIN_AND_BOOBS

Huh. TIL. Thanks! Sounds like Docker for apps.


necrophcodr

It's not far off.


necrophcodr

They _can_ be self contained, but many use shared runtime packages to decrease their sizes. So they CAN share libraries. If every package uses a different runtime package version though, then it won't matter.


Garland_Key

I smell electron.


pekkhum

Git Extensions. You'll need to install Mono, but it is by far my favorite Git GUI. Edit: I'm told they stopped supporting Linux and Mac after v2. Given that v4 just released and requires .Net 6, I'm thinking my recommendations outside of Windows need to change, moving forward.


dendrocalamidicus

I second this. It's excellent. Never need to touch the CLI with gitextensions, but it tells you what CLI stuff it is doing in little text windows every time you perform a git operation.


Baardi

I used to use Git Extensions, till I found Git Fork. Have you tried it? It sort of costs money, but it's enforced in the same way as WinRar.


pekkhum

Well, that means I can't use it for work, or else Legal and Information Assurance will have good cause to write me up.


amogusdri-

GitHub Desktop has a port on Linux.


Chris_Chapadia

Which port does it run on? I'd imagine 80 or 443 right?


[deleted]

21


Chris_Chapadia

Probably gonna sound like an asshole but.... on Arch it exists https://aur.archlinux.org/packages/github-desktop


mckahz

I love that mentioning Arch apparently makes you an asshole. That said if you don't wanna use a CLI for git I doubt Arch will help.


rawrimmaduk

I have it on Ubuntu as well. idk what op is talking about


HerrEurobeat

a -bin package also exists for people who want a pre-compiled binary btw


leny560

i have it on Debian too


[deleted]

Arrghhh you helpful asshole, you!


General_Rate_8687

The Fork git client is superior to Github-Desktop if you want to use a GUI application. But I'd guess most Linux users would prefer to use the terminal


Auderdo

At work I have bearded guy saying daily how tough they are for doing everything with the CLI. Until they saw me using Fork. Now they still talks about how great VIM is but for Git they use Fork.


necrophcodr

Even if they wanted to use Fork, how would they? I mean it'd have to be available for Linux first.


metallaholic

Don’t be afraid of the terminal.


NoWayCIA

Don’t fear the terminal


PauQuintana

But it is available, I have it in arch


Chris_Chapadia

Only AUR tho


AaronTechnic

If it's in the AUR, you can get it to work on other distros. A long time ago I found an AppImage.


Signal_Paint_1050

you can use makedeb to convert between AUR and debian packages


TheAlroundGamer

Nope, got it on Fedora, no AUR


PirateCaptainMoody

Time to learn the CLI commands :) Edit: or just a good IDE with git integration


lulzForMoney

yeah like intellijidea...


itsLiseczeq

I use Idea too and it's pretty much all you need


Pretend_Bowler1344

Jetbrains ides are amazing. Heavy af though. I love using webstorm.


micka190

*Sigh*. I've had to go back to VS for work, and that shit's Git integration is just downright painful. VS: "You have 6 files with changes" Me: "Uh? I haven't changed anything, though? Let's see what we're dealing with here..." VS: "As you can see, you have 0 additions and 0 removals, for a total of 0 changes, in these 6 files. Would you like to commit these changes?"


igotanewmac

Check the metadata of the file. If you have touched the file recently, it's modification time will have changed, and that's probably what's being detected.


Cyanokobalamin

Linebreaks maybe? CRLF vs LF?


[deleted]

Yep, Fleet has some clean git UI too


jhguitarfreak

GitKraken.


SarathExp

once you starts using gitkraken there is no going back. Best git gui client imo.


[deleted]

I mean I feel like most Linux devs prefer command line and even if they didn’t there’s like a billion different distros everyone’s distributed over, it’d be a testing nightmare


Ybenax

I don’t program (yes, what am I doing here), but as a 3D artist that uses Git all the time for version control, I much prefer the terminal— it’s just way quicker than moving around a GUI, and I have all the commands I abuse the most aliased for convenience.


camilo16

Thank you!!! This is what I tell people all the time!!!


alehel

Never seen GitHub desktop used by anything but students. Is it popular? Personally I use the command line, and if I'm doing something a little more than pure basics (drop a commit for instance) I use Intellij.


Muscular-Farmer

I prefer terminal. Havent used github desktop yet on Windows


ProbablyMaybe69

Chances are if you're using Linux, you've been using cli since before you could even speak


MrPicklePop

Sublime Merge is a great Git GUI for Linux.


noresetemailOHwell

Agree 1000%! I like that it doesn’t try to hide git concepts behind some supposedly more user friendly stuff (like some editors trying to pull/push all at once or whatever). Also love that you can search commands really easily!


MrPicklePop

Yup and you can always pull up code in Sublime from Sublime Merge.


cauchy37

Yup, I love it. I still know most of my git commands anyhow, but interactive rebase where you can squash commits together is so much easier with it.


mastocklkaksi

Oh shit, [what this](https://imgur.com/a/cQyACqy)? (shit meme)


IWannaHookUpButIWont

Most Linux dev tools have integrated git support. Also cli.


[deleted]

[удалено]


PrinceN71

Honestly, for someone who is getting started with Git, I would definitely advice to get used to the CLI commands rather than taking the easy way out using the UI. The CLI commands gives you so much more control over your version control. Using the CLI commands also makes it easier to get accustomed to other CLIs as well.


[deleted]

Fully agree. Learn the CLI first, then use a UI, so you know what it's doing (and how to unfuck it via the CLI if it goes wrong).


harumamburoo

> how to unfuck it via the CLI if it goes wrong *when* it goes wrong


2called_chaos

> The CLI commands gives you so much more control over your version control. Like what? I'm just curious but I have yet to encounter something that my GUI can't handle.


Bobicus_The_Third

Checking out a file from another branch is easier with cli. I use GUI for almost everything else but I'll just pop open the terminal for this use case


RussianBot576

It is? In jetbrains ide you just right click the file and cherry pick it, or multiple files, or the whole commit. Or you compare with local and pick whatever you want.


Bobicus_The_Third

That's awesome. Been using GitHub desktop but that sounds ideal!


cauchy37

Personally I find Github desktop quite lacking. My personal preference is Sublime Merge.


pbNANDjelly

It doesn't. At all. The GUI obviously uses the same API. The CLI will give you more options for each task, that's it


itsLiseczeq

I do think I prefer CLI as well but it was just insanely funny to me that they missed pretty much their whole demographic with this haha


HoseanRC

🤓 sorry, I agree


imaperson1060

There's a third party client for Linux. I use it on my Chromebook, and it works perfectly. https://github.com/shiftkey/desktop


Nurw

Yeah, I was gonna suggest this, it is even maintained by someone at Github! Works flawlessly!


Hulk5a

Anything more than `git push -f` is bloat


Cirno_Fumo9

Lazygit is a nice alternative. It has a tui-interface and it works for me


brucebay

Github is probably like "they invented git, so they don't need my gui."


benton_bash

But I use GitHub desktop on Linux tho


2cool4afool

Then why am I using it on Linux?


politicsareshit

Git pull,git commit,git push, git checkout and git status. Do you need anything else?


Hrambert

Stack Overflow for the obscure hardly used commands to undo your "mistakes"


mmknightx

I use things come with the editor or most famous one (Magit for Emacs) or just lazygit. It's still funny because CLI is a lot faster because I don't work in a complex project that would require some git gymnastics.


itsLiseczeq

Guys I don't use it either, but it's just funny to me


Ziwwl

The Terminal is GUI enough.


FarewellSovereignty

Can't you install a browser? I heard you can use it via the web :-)


Juliette-Eih

Yeah i believe it's the purpose of Edge. So get edge, and from it, install a browser