Project IDX is an entirely web-based workspace for full-stack application development, complete with the latest generative AI (powered by Codey and PaLM 2), and full-fidelity app previews, powered by cloud emulators.
What if your dev experience was entirely in the cloud?
These days, launching applications means navigating an endless sea of complexity. We felt this pain at Google, so we started Project IDX, an experimental new initiative aimed at bringing your entire full-stack, multiplatform app development workflow to the cloud.
Project IDX gets you into your dev workflow in no time, backed by the security and scalability of Google Cloud.
Project IDX lets you preview your full-stack, multiplatform apps as your users would see them, with upcoming support for built-in multi-browser web previews, Android emulators, and iOS simulators.
As a Vim fanatic, I can't say I'll ever feel comfortable working in a browser, but some parts of IDX seem interesting. I wonder what the implications are for proprietary code.
I do think it solves an interesting problem where you're working on your desktop and decide to move to your laptop and continue working on the same codebase, but don't want to commit early so you can pull down the changes to your laptop.
I do think it solves an interesting problem where you’re working on your desktop and decide to move to your laptop and continue working on the same codebase, but don’t want to commit early so you can pull down the changes to your laptop.
You can just push the changes to a different branch and then merge it to your normal feature branch later. Takes like 5 seconds.
I rebase! I just don't want to push to the main repo, pull it down, rebase and force push to it. Pushing to a disposable branch is an obvious solution I didn't see, haha. I tend to not use branching a lot in my projects...
...I guess I could actually set up my desktop as a remote too, huh.
Thanks for the suggestion! If you can believe it, I already have Syncthing installed but haven't used it in ages. I didn't even think of using this for keeping git repositories in sync! I did find these forum posts that seem to recommend against using Syncthing for git repositories, though they're 6-7 years old:
Biggest issue I've had was forgetting I committed something on one device before committing on another. Then I had two branches where one had " conflict" in the name. I just deleted all conflict files and everything continued as normal. If your repo is never corrupted before syncing worst case you should be able to find and delete all conflict files.
Syncthing conflicts include the source of the conflict so you could just choose to delete all files whose conflict is from one device and leave everything from the other.
If you're worried you could just ignore your '.git' folder in syncthing since you're purposefully not committing during this. Then sync through git when you finally commit your changes on a device.
Huh, fair enough. I guess I'm still not using git to its full potential. What I do now is SSH into my desktop from my laptop and work on it there. It's easy because I use Neovim.