6 ms·
Who would have thought that git worktree is the technology of the year 2026?
by roetlich 4mo ago
Who would have thought that git worktree is the technology of the year 2026?
- kirtivr 4mo agoYeah, when you had multiple agents working on the same machine, branch isolation was no longer sufficient. A repository folder can only be on one branch at a time. A worktree is basically equivalent to a cp -R + git branch, which allows this new workflow to occur. I loved this particular historical insight as to why `git worktree` was added in 2015: Before worktrees, kernel devs faced a major inconvenience when switching contexts, e.g., stopping feature work to fix an urgent bug on a release branch. Running git stash and switching branches alters timestamps on thousands of files. This forces `make` to perform a full re-compile, which can take up to an hour on large kernels.
- Neywiny 4mo agoSadly worktrees do some stuff with the git folder that's made one development environment we inherited incompatible. Something about the .git folder not being a fully real .git folder maybe
- mrklol 4mo agoAnd the team behind opencode is working on an alternative https://github.com/anomalyco/rift https://github.com/anomalyco/rift
- mgambati 4mo agoGitbutler still a better option than any worktree like variant
- keeda 4mo agoHah, I have a prototype of the same idea on my backburner! Excited to see this, though I don't understand some of their design choices. Will need to check out more closely.
- thatxliner 4mo agothis looks similar to something I built https://github.com/ThatXliner/git-worm https://github.com/ThatXliner/git-worm
- carterschonwald 4mo agoi have some fun experiments i'm doing with full virtualization middle ware of all sys calls for agents tools/shell commands/io, still far from daily driver, but allows me to do a very rich overlay / virtual file system tom foolery in place
- parisiansam 4mo agoI have moved from my own awkward scripts to lazyworktree TUI and I loved it
- epolanski 4mo agoI can barely keep up with one single thread and branch, go figure.
- john_builds 4mo agobest tool yet!
- mohamedkoubaa 4mo agoI set up multiple work trees in one vscode workspace last year and wrote in the agents.md how to merge branches - but I spend about a third of the time helping agents integrate and merge. I remember wishing the tooling would catch up
- baq 4mo agoHow small are people’s projects if they find worktrees useful? I use them for hobby stuff, but $DAYJOB is a different story because of testing
- _fat_santa 4mo agoI've toyed around with worktrees but haven't found them very useful beyond that. I generally find it much easier to carefully prompt an agent so $TASK1 does not interfere with $TASK2
- dawnerd 4mo agoI tried them a while back and they were more annoying than anything. The only real use-case I have for them is stashing long-running changes that are not ready to be committed... but really probably should be anyways.
- swe_dima 4mo agoI still don't understand how people use git worktrees with Docker. You need a full database and etc. For me it's simpler to have multiple checkouts.
- afzalive 4mo agoI use Conductor's spotlight (and a Pi extension I derived from it) but it's not perfect. Once a migration executes, I'm pretty much bound to it but at least once, I have just backed up the database before switching and then restored that.
- OJFord 4mo agoI don't understand what docker problem would be solved by multiple git directories but not by multiple work trees? Regardless of whether the former solves it, I was going to suggest you could use compose or whatever in your 'human' tree, and then tell the AI to use equivalent docker commands without using compose, so it gets anonymous/its own named containers, but you keep the convenience.
- p1necone 4mo agoI use a skill that basically boils down to 'keep track of ongoing work in a json file, create a new numbered clone for each separate thread of work, delete when done'. Worktrees are too opaque and not entirely isolated for my liking.
- NagatoYuzuru 4mo agoI used to create multiple local worktrees and mount the sub directories using Docker. This approach had significant limitations because many paths in the agent and .git files were hard-coded.
- braebo 4mo agoWorktrees don’t support git submodules and it’s killing me in my monorepo