News for hackers. Stuff that matters.
Re:Ask HN: Can we do better than Git for version control? by pulse7 on Sunday December 10, 2023 @04:14AM (#38590291)
Of course there is a room for improvement... One of the biggest issues is usability/user experience: pull, fetch, checkout, commit, push, rebase - what is all this and what is the exact meaning? I need simple English terms for my work - like update and save - nothing more. Why do I need to worry about implementation details and terms? If I can not explain it to my wife, then I can not use it for binary documents which she needs to store in a repo... in this case Subversion is a better version-control-system for her documents... Just SVN Update/SVN Commit - nothing more to learn in Subversion...
Re:Ask HN: Can we do better than Git for version control? by zadokshi on Sunday December 10, 2023 @04:27AM (#38590330)
To be honest, I can’t even imagine what you imagine “git save” and “git update” would even do in an alternate universe.
Re:Ask HN: Can we do better than Git for version control? by retpoline__ on Sunday December 10, 2023 @04:41AM (#38590396)
This is funny because in PR oriented development I started treating commits in the same way as "save" in IDE,

it's just backup of current state with irrelevant commit message. Everything is described at the end of the work in PR's description and squash merged.

Re:Ask HN: Can we do better than Git for version control? by from-nibly on Sunday December 10, 2023 @08:58AM (#38591537)
But then you can't use blame to look at the current code state. And it also becomes a nightmare to revert your changes.
Re:Ask HN: Can we do better than Git for version control? by dolni on Sunday December 10, 2023 @10:50AM (#38592328)
Giant PRs that are squashed into one commit are an anti-pattern. Every commit should contain exactly one logical change AND a descriptive commit message.

Unfortunately a good chunk of the industry doesn't have the discipline to do this.

If you have ever worked in a project where there was discipline around committing, you know there is lots of value in doing so (rebasing becomes easier, you unlock the power of bisect, log is actually useful).

Re:Ask HN: Can we do better than Git for version control? by argulane on Monday December 11, 2023 @05:53PM (#38606616)
This!

Also doing PR code review is soo much nicer if each commit is logically self contained with a nice commit message.

Re:Ask HN: Can we do better than Git for version control? by q0uaur on Sunday December 10, 2023 @08:46AM (#38591486)
when i started out with git i made an alias to immediately do "git add . && git commit -m 'lazy' && git push" to make it easy to always save my work and ensure its on the server too. git pull is easy enough to remember + type, but i could imagine just calling it update
Re:Ask HN: Can we do better than Git for version control? by happymellon on Sunday December 10, 2023 @09:01AM (#38591554)
I would imagine git save is commit, and update is pull?

I think they just want to replace some of the words with alternatives that they prefer. Because at some point someone is going to winge that update should be syncronise and not pull, and save should be push and therefore git is the worst.

Re:Ask HN: Can we do better than Git for version control? by dale_glass on Sunday December 10, 2023 @04:53AM (#38590458)
Then you might be better off with something like Subversion indeed.

Git is distributed, and that means you can't get away from push, pull and fetch, however you name them.

If want you want is a way to avoid making "New New Presentation FINAL 2", then pretty much all features of most source control systems are superfluous.

To me that doesn't mean Git needs fixing, it means it's definitely not the right tool for your job.

Re:Ask HN: Can we do better than Git for version control? by abenga on Sunday December 10, 2023 @04:55AM (#38590478)
If the specific words used are the problem, using aliases is a straightforward way to fix them. If you do it for someone, it will break the possibility of searching for help online though.
Re:Ask HN: Can we do better than Git for version control? by aulin on Sunday December 10, 2023 @05:35AM (#38590643)
Imagine an electronic engineer complaining about an oscilloscope being hard to use because he cannot explain what all those knobs do to his wife. We are professionals, our tools should be powerful for the advanced user, not beginner friendly.
Re:Ask HN: Can we do better than Git for version control? by JCharante on Sunday December 10, 2023 @10:34AM (#38592193)
Agreed. Imagine a pilot complaining that the controls are not simple enough.
Re:Ask HN: Can we do better than Git for version control? by dolni on Sunday December 10, 2023 @10:54AM (#38592359)
There has been a lot of push to commoditize software engineering. Unfortunately that has resulted in a swarm of people who want developer salaries without the work or expertise.

Git definitely has some warts but you are right. It is an industry tool for expert, professional use. Some complexity is inherent to the problem of version control.

Learning how to use your tools is part of ANY trade.

Re:Ask HN: Can we do better than Git for version control? by tester756 on Sunday December 10, 2023 @12:02PM (#38592963)
>It is an industry tool for expert, professional use.

If you were talking about things like Kubernetes, LLVM, Ghidra then I'd agree.

But no git. This is not some expert tool.

This tool's purpose is literally to manage your characters' history, that's it.

Git could be used by any other profession that deals with letters - article writers, book writers, etc, etc.

Re:Ask HN: Can we do better than Git for version control? by allarm on Tuesday December 12, 2023 @02:04AM (#38610488)
> This tool's purpose is literally to manage your characters' history, that's it.

Yes, but you seem to heavily underestimate the complexity of the problem and the volume of the use cases that git solves.

Re:Ask HN: Can we do better than Git for version control? by janalsncm on Monday December 11, 2023 @06:47AM (#38599764)
I disagree. There’s always more that can be learned about anything but we live in a world with finite time and finite resources. So you can either devote time to learning git or you could spend it doing the actual work.

The fact that git is used by experts and professionals is not an excuse for poor UX. The experts and professionals are almost never Git experts or professionals. I use my car every day, that doesn’t make me a mechanic. Having to understand the inner workings of a tool is an indication of poor design, not a gatekeep we should seek to maintain.

Re:Ask HN: Can we do better than Git for version control? by dolni on Monday December 11, 2023 @12:26PM (#38602526)
I think there are two things being conflated here.

One is: how do you effectively manage changes to a codebase over time? Git has a model that, for day-to-day use, has primitives like "commit", "branch", and "tag". You also have to understand the difference between your working copy, what is staged for commit, and any other commit in history. These, in combination with the operations you can do with them is actually somewhat complex. This is the thing I am saying people need to learn. And people quite often complain about it.

The other is the organization of git's porcelain layer, the arguments and flags each subcommand takes, and how stuff is presented back to the user. I think git stands to make significant improvement here. Be that as it may, the tool exists as it is. So your options are to use a different VCS entirely, use a different frontend, or learn how to use git as-is.

If you choose to use git but deliberately avoid learning e.g. what a rebase is and why it's useful, you are choosing to be an ineffective developer. Could it be better in some ways? Yes, but it isn't.

I don't think the car analogy is particularly compelling. The "primitives" of a car are already much simpler than git's. The fundamental primitives of a car are "go faster" and "go slower", along with some supporting things like managing your headlights, windshield defrosting, wipers, and horn.

While additional tools are being added to cars to make them safer (e.g. a backup cam or collision detection), the complexity of those tools is increasing rapidly which makes them more prone to failure. And a driver is absolutely not excused from causing an accident just because one of these safety tools failed. You still have to know how to safely operate your vehicle in a variety of conditions.

Re:Ask HN: Can we do better than Git for version control? by aulin on Tuesday December 12, 2023 @01:12AM (#38610152)
I often heard this argument from people learning LaTeX in academia. It's difficult and I don't have time to study it. From people that spent years to master advanced maths, people that spent years to learn how to build and operate state of the art experimental setups. But for some reason there's never time to learn your software tools.
Re:Ask HN: Can we do better than Git for version control? by etrautmann on Sunday December 10, 2023 @11:39AM (#38592755)
Yes, but if the oscilloscope has some buttons that take out the entire company’s codebase if pressed wrong.
Re:Ask HN: Can we do better than Git for version control? by mistercheph on Monday December 11, 2023 @08:25AM (#38600421)
If the entire company's work has been laid up into a single prototype, then an oscilloscope does have such buttons :)
Re:Ask HN: Can we do better than Git for version control? by lpapez on Sunday December 10, 2023 @11:50AM (#38592853)
A tool can be both beginner friendly AND powerful for advanced users.

Speaking of your analogy, the role that most software developers fullfil is not an engineer wondering about the oscilloscope, but rather the construction worker installing electrical fixtures wondering why the cable clamp has such a weird interface. Both the oscilloscope engineer in an office and the worker doing the field work would benefit from having a simple and reliable tool fit for purpose of cable clamping.

There is certainly a need for competent and "proper" software engineering that require special tools and detailed training, but I would argue it's niche and filled by people who build the tools themselves.

IMO the largest share of developers today are doing brick-laying work (which of course takes skill, I am not underestimating it) and would benefit a lot from having simpler tools - they don't need to know how to use an oscilloscope at all.

Re:Ask HN: Can we do better than Git for version control? by dolni on Monday December 11, 2023 @12:07PM (#38602340)
> IMO the largest share of developers today are doing brick-laying work (which of course takes skill, I am not underestimating it) and would benefit a lot from having simpler tools - they don't need to know how to use an oscilloscope at all.

They're doing brick-laying work until they aren't. Most problems are easy to solve and don't require very much fussing over. The expertise comes in knowing which problems are worth fussing over and which aren't.

Technology is becoming ever more present in our lives, not less.

Reducing software engineering to a low-skill trade when there is, in fact, mountains of complexity is surefire way for software to be a heap of shit. And in a lot of ways it already is.

Re:Ask HN: Can we do better than Git for version control? by lpapez on Tuesday December 12, 2023 @01:36AM (#38610287)
> Reducing software engineering to a low-skill trade when there is, in fact, mountains of complexity is surefire way for software to be a heap of shit. And in a lot of ways it already is.

I fully agree with this observation, but the reality is that this is where things are going.

Software quality is simply not that relevant today for the majority of software. As long as the billing works fine, the management is happy to see your website barely working - screw the quality if the money is coming in anyway.

Such software costs much less and can be built by bricklayers.

Re:Ask HN: Can we do better than Git for version control? by tester756 on Sunday December 10, 2023 @11:55AM (#38592903)
>We are professionals, our tools should be powerful for the advanced user, not beginner friendly.

You can have both - powerful and user friendly.

This idea that engineer's tools must be a mess that is fine as long as enables to do something is idiotic.

The same argument was repeated whenever C or C++ vs Rust discussions were happening

"Just learn C and memory management (and all the quirks)"

"Just use this new language constructs and you're fine..."

and in reality we ended with a lot of CVEs - 70% in both Chrome and Windows were related to mem. issues.

There's absolutely no reason why git's CLI cannot be better than it currently is. Once again - there is no reason.

Proof? There are CLI wrappers or even GUIs like GitHub Desktop that make whole experience way better.