Creates and sets up a new remote machine.
$ rx init
init will sync the contents of your current directory to the remote host. If you’d like to see which files will be synced you can run with
--dry-run, which will print the files-to-be-uploaded and exit.
When you initially run
rx init, it will create a default .rxignore file with some standard paths. You can modify this or create your own, then check your work with
By default, rx will examine your project and attempt to determine what languages/tools you’re using, then set them up on the remote machine. For example, if you have a requirements.txt file, rx will make sure Python is installed on the machine and run
pip install on your project. If your project has a package.json file, rx will install node and run
npm install (and so on).
This auto-detected toolchain is written to a file in .rx/remotes/, which .rx/remotes/default will automatically be symlinked to. When you run
rx init, it first checks for .rx/remotes/default and will use that (if it exists) instead of auto-detecting your setup.
You can create your own custom configuration and then either symlink .rx/remtoes/default to that file or use the
rx init option
--remote. For example:
rx init --remote=path/to/my-config.yaml
If you’d like to work on code that does not exist on your machine, you can pass in
--sync=false. This will prevent rx from syncing files to/from your local machine, but still allow you to use rx commands to work with the remote workspace.
To specify the project to load on the remote machine, specify
rx init --sync=false --git=https://github.com/ashadnasim52/sentiment-analysis.git
You can also (optionally) specify the commit you wish to load the project at:
rx init --sync=false \
--commit defaults to HEAD.
Note that you can still configure a no-sync workspace with a
rx init a second time in a directory will shut down the current remote machine and start a new one from scratch. This is essentially a wipe back to the base state for your machine.