I switched to gitextensions, sourcetree had so many bugs that it was getting on my nerves. Gitextensions has a similar layout, it also has the history view. It’s not prefect (recently they removed the dark theme because they upgraded some dependency and it didn’t work anymore) but it’s the best alternative I’ve found
Tower is pretty nice for mac user too. I paid for it for a few versions back when I was coding full time. Now I just stuck to source tree for occasional freelance and personal projects.
I think for most people it’s whatever you got used to first. I agree the hatred the GUIs get is overblown. I would always recommend people learn the command line but if you want to use a GUI, go for it, doesn’t affect me unless your commits are bad, in which case the CLI wouldn’t have helped anyway.
I wish! The best Linux git gui I have found is SmartGit. I like it, but it’s just a little goofy and not free. Fork is better for its ability to very easily stage and/or stash a subset of the current changeset.
Anyone got any suggestions? I tried git-cola and gitkraken. The former I found obtuse and limited, and the latter is not free in addition to somehow making git harder with a pretty gui.
Gitkraken is free as long as the repository is public, which seems like an alright compromise to me. The only problem I had with it was that it was electron. What did it make harder for you?
The best ones I have found for Linux are SmartGit and Sublime Merge, but neither are free in any sense. Sublime Merge is slightly cheaper. SmartGit offers a free “hobby license” but it limits which kinds of repos you can work with.
Gitkraken looks like it might be good but I haven’t used it.
I hate coding on Windows, maybe I’ll check that out. (My only option is Windows for my work laptop because I need to use a few Windows-only softwares and IT says I’m not allowed to dual boot)
After the last windows update WSL gives me a BSoD every time 😭 Pretty sure IT wouldn’t appreciate me running Ubuntu off a USB drive but that’s a good idea.
For me, it was my boss gave me a programming task which he knew would take hours or a day or two… and then 15 minutes later tells me to “switch focus” and do a menial task that any of my five coworkers could do 🤦♂️
That would allow for like, 2 trillion devices? Feels like a bandaid, my dude. Next you’re gonna suggest a giant ice cube in the ocean once a year to stop global warming.
Hurricanes cannot cross the equator. The equator is an imaginary line, and hence has zero mass. We can end every hurricane using zero point zero energy (0.0).
I thought it was pretty clear with me adding 13.37 that I was making a joke, the earlier post spoke about how just adding one octet would still be too few addresses, so I joked about adding one more octet.
You can use a ULA if you want to. That’s essentially the IPv6 equivalent of a private IP.
Why though? Having the same IP for both internal and external solves a bunch of issues. For example, you don’t need to use split horizon DNS any more (which is where a host name has a different IP on your internal network vs on the internet). You just need to ensure your firewalls are set up properly, which you should do anyways.
You could follow this logic and add 2 alphanumeric digits before 4 numeric octets. E.g. xf.192.168.1.1
This would at least keep it looking like an IP and not a Mac address. Another advantage would be graceful ipv4 handling with a reserved range starting with “ip” like ip.10.10.10.1
Oh yeah, great, let’s change the fundamental protocol on which all the networks in the world are based. Now two third of the devices in the world crashed because you tried to ping 192.168.0.0.1
Please don’t. Use regex to find something that looks like an IP then build a real parser. This is madness, its’s extremely hard to read and a mistake is almost impossible to spot. Not to mention that it’s slow.
Just parse [0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3} using regex (for v4) and then have some code check that all the octets are valid (and store the IP as a u32).
Fuck that, if for whatever reason I’m writing an IP validator by hand I’m disallowing leading zeros. Parsers are very inconsistent, some will parse 010 as 10, others as 0o10 == 8 (you can try that right now with a POSIX ping). Talk about a footgun.
True enough for database or dictionary storage, but a lot of times things get implemented in arrays where you still wind up with two copies of the same uint32.
Because 1.2.3.4 and 1.02.003.04 both map to the same number.
But 10.20.30.40 and 010.020.030.040 map to different numbers. It’s often best to reject IPv4 addresses with leading zeroes to avoid the decimal vs. octal ambiguity.
Holy hell yeah you did. How would you go about doing that in a single expression? A bunch of back references to figure out the country? What if that’s not included? Oy.
You wouldn’t. It’s not possible. Which is what I told them.
And why would you want to? Legally if you change the given address, and it fails to get delivered - that is on you. Not them.
Some countries have addresses that are literally ‘Last house on the left by the Big Tree. Bumban(Neighborhood). NN (Country)’. Any US Centric validation would fail this but I assure you - mail gets delivered just fine.
The only valid regex is (.+). Maybe add a separate country field (especially because some Americans wholeheartedly believe that the entire world should understand that “foobar, TX” means “foobar, Texas, United States”) (don’t get me started on states whose abbreviations are also ISO country codes).
Unfortunately I guess business people only care about getting fewer support calls for missing shipping details, not correctness or a couple of calls from customers who live in the boonies. Then the proper answer is a form with a bunch of fields… which Americans will inevitably fuck up by making the “State” field mandatory despite most countries not having an equivalent.
What I’d really do is use one of those services that automatically fill on the address using google maps or whatever. Not perfect, probably not free, but a whole lot less work for presumably way fewer PEBCAKs from customers.
If you’re using one of those services then PLEASE allow manual entry / override because I’ve had forms like that which I were blocked from filing in because it didn’t acknowledge that my address existed.
I’d use Desktop if it worked, unfortunately recently it decided that I don’t have read/write access to a repo I’m working on. Works fine in git CLI so idk what the problem there is.
Freaking love TUIs, it’s like they took the convenience of a GUI and the efficiency of the CLI and merged them. As a Neovim and Lazygit user myself it’s amazing what I can accomplish in but a few keypresses.
No matter the GUI you use, you’re leaving a lot of useful functionality on the table. By their nature, you only get a small fraction of git’s features. There are many useful commands I use regularly that are impossible to replicate using GUIs.
A good UI (for you personally) should do all the things you regularly do. Git is a complex and messy enough beast that when I have to use the CLI I’m going off the golden path and copy+pasting something arcane.
programmer_humor
Active
This magazine is from a federated server and may be incomplete. Browse more on the original instance.