Jujutsu: A Next Generation Replacement for Git
Jujutsu, an experimental version control system by Martin von Zweigbergk, offers Git compatibility, simplified commits, effective conflict handling, and features like automatic rebasing. Despite being in active development with some limitations, it shows promise for revolutionizing version control.
Read original articleJujutsu is an experimental version control system developed by Martin von Zweigbergk, initially as a hobby project in 2019 and now a full-time project at Google. It offers Git compatibility, simplifies commit processes, handles conflicts effectively, and provides features like automatic rebasing and powerful history rewriting. Developers appreciate its potential to streamline workflows, simplify branching, enhance conflict resolution, improve collaboration, and manage history effectively. However, Jujutsu is still in active development, lacking some features, potentially facing performance issues, and having a less mature ecosystem compared to Git. Users can try Jujutsu by installing it through Rust's package manager, maintaining their Git repository intact, and using Jujutsu commands instead of Git commands. Despite its current limitations, Jujutsu shows promise in revolutionizing version control systems for developers seeking efficient and user-friendly tools.
Related
Git: Please Stop Squash Merging
Lucas Seiki Oshiro explains the drawbacks of squash merging in Git, debunking the belief that it condenses changes effectively. He clarifies Git's inner workings and the implications of squash merging.
A Better Merge Workflow with Jujutsu
A new merge workflow using Jujutsu, a modern VCS compatible with Git, introduces The Austin™ Mega Merge Strategy®. It simplifies merge commits, amending commits, and selecting commits efficiently, enhancing collaboration and code review processes with advanced commit graph manipulation.
Sublime Merge
Sublime Merge, a Git client by Sublime Text creators, excels in speed, staging options, syntax highlighting, and conflict resolution. Users appreciate its efficiency, simplicity, and seamless GUI to command line transitions.
Jqjq: Jq Implementation of Jq
The GitHub URL hosts the "jqjq" project, an implementation of jq in the jq language. It showcases progress, design, issues, references, tools, and acknowledgments. Inquire for further details.
1JPM: A Maven/Gradle alternative in a single Java file
The project "1JPM" is a Java Project Manager offering an alternative to Maven and Gradle. It is a single customizable Java file for project configuration, eliminating XML or Groovy. Users can integrate it by adding the JPM.java file and executing commands in the terminal. 1JPM treats everything as a plugin, allowing the addition of third-party plugins. It covers essential functions like build, clean, assemble, check, dependencies, help, tasks, and jar, but may lack some advanced features. The project is in early stages, providing basic build capabilities. Users can seek further assistance for details or support.
With the lack of staging area it really seems like this encourages the exact opposite. Seems like a good way to get secrets as well as just general junk and clutter committed to your repo history.
If I am working on a big project, I will start to commit change sets as parts of the code solidify without committing other less solid changes. That seems pretty basic. I don't want half finished changes forever committed to history.
The actual project website is here: https://martinvonz.github.io/jj/latest/
The repo is https://github.com/martinvonz/jj
Note: the project author is a Googler, and it appears to be under the umbrella of Google/Alphabet, as a CLA is required: https://martinvonz.github.io/jj/latest/contributing/
I remember CVS during my early Linux days. At work it was SourceSafe and around the 2010 era, worked for companies using TFS or SVN, etc.
Each one of these had there issues. Some had a better relationship with SVN than others. I did not mind it. However, I HATED SourceSafe! Glad to never touch that again!
When distributed version controls started to become a thing, I played with git, mercurial and bazaar before they were common. I liked them all better than SVN. Eventually I worked for a company using Mercurial but it wasn't long before git was the breadwinner and replaced practically everything else.
Personally, the only reason I ended up on git is because is solved the problem of doing local commits. Many times I was not on the internet or local network, but I can commit whenever I like and push when available to do so. This, for me, was a HUGE win!
Now, I dont have a reason to switch to something else. Its not comparable like moving from SVN to git. Could there be some cool or simpler features? Maybe. Regardless I hardly have issues with git overall to cause me to look about.
The only "issue" I have came across with git is its not great for large binary files, or for storing a collection of images, etc. For coding - its awesome.
I guess the only way I will starting considering alternatives is if the git team decide to make terrible choices.
Anonymous branches? How do I get back to my work?
Auto commit of saved files? How do I commit the things I want without leaving all sorts of junk I don’t wanna share in my history?
I have no impression of how this makes anything easier.
Any experiences of anyone trying it out and switching over to it?
Related
Git: Please Stop Squash Merging
Lucas Seiki Oshiro explains the drawbacks of squash merging in Git, debunking the belief that it condenses changes effectively. He clarifies Git's inner workings and the implications of squash merging.
A Better Merge Workflow with Jujutsu
A new merge workflow using Jujutsu, a modern VCS compatible with Git, introduces The Austin™ Mega Merge Strategy®. It simplifies merge commits, amending commits, and selecting commits efficiently, enhancing collaboration and code review processes with advanced commit graph manipulation.
Sublime Merge
Sublime Merge, a Git client by Sublime Text creators, excels in speed, staging options, syntax highlighting, and conflict resolution. Users appreciate its efficiency, simplicity, and seamless GUI to command line transitions.
Jqjq: Jq Implementation of Jq
The GitHub URL hosts the "jqjq" project, an implementation of jq in the jq language. It showcases progress, design, issues, references, tools, and acknowledgments. Inquire for further details.
1JPM: A Maven/Gradle alternative in a single Java file
The project "1JPM" is a Java Project Manager offering an alternative to Maven and Gradle. It is a single customizable Java file for project configuration, eliminating XML or Groovy. Users can integrate it by adding the JPM.java file and executing commands in the terminal. 1JPM treats everything as a plugin, allowing the addition of third-party plugins. It covers essential functions like build, clean, assemble, check, dependencies, help, tasks, and jar, but may lack some advanced features. The project is in early stages, providing basic build capabilities. Users can seek further assistance for details or support.