Как переключиться на другой компьютер во время выполнения команды?

Как можно сохранить работу на компьютере и перенести ее на другой устройство с использованием системы контроля версий?
  • 6 февраля 2024 г. 18:58
Ответы на вопрос 2
Для переключения на другой компьютер во время выполнения длительной команды необходимо использовать инструменты, которые позволяют отсоединять сессии и сохранять их состояние. Одним из таких инструментов является `screen` или `tmux` в Linux.

Вот как это может быть сделано с использованием `screen`:

1. Запустите `screen`, чтобы создать новый сеанс:
   ```
   screen
   ```

2. В новом сеансе запустите команду, которую вы хотите выполнить.

3. Отсоедините сеанс, нажав `Ctrl-A`, затем `Ctrl-D`. Вы вернетесь в исходный терминал, а команда продолжит выполняться в отсоединенном сеансе `screen`.

4. Теперь вы можете выйти из системы и перейти на другой компьютер.

5. С другого компьютера подключитесь к той же машине (используя, например, SSH).

6. Восстановите сеанс `screen`, в котором выполняется ваша команда:
   ```
   screen -r
   ```

Что касается сохранения работы и переноса на другое устройство с использованием системы контроля версий, то здесь можно воспользоваться такими системами, как Git. Вот как это работает:

1. Сначала, создайте локальный репозиторий Git в директории с вашим проектом (если вы еще этого не сделали):
   ```
   git init
   ```

2. Добавьте файлы в репозиторий и выполните первый коммит:
   ```
   git add .
   git commit -m "Initial commit"
   ```

3. Создайте репозиторий на внешнем хостинге проектов, например, на GitHub, GitLab или Bitbucket.

4. Свяжите локальный репозиторий с удаленным:
   ```
   git remote add origin <URL-адрес удаленного репозитория>
   ```

5. Отправьте изменения на удаленный сервер:
   ```
   git push -u origin master
   ```

Теперь ваша работа сохранена на удаленном сервере. Чтобы получить код на другом компьютере:

1. Клонируйте репозиторий из удаленного хранилища:
   ```
   git clone <URL-адрес удаленного репозитория>
   ```

2. Войдите в склонированную директорию и продолжайте работу с кодом. Будущие изменения также можно будет переносить между устройствами с помощью команд `git push` (для отправки изменений на сервер) и `git pull` (для получения изменений с сервера).
Делаешь себе отдельную ветку для текущей работы. Срешь там как хочешь. Когда все будет готово, либо сливаешь в основную ветку сквэш коммитом, либо сбрасываешь (soft reset) весь свой срач в точке разветвления, делаешь нормальный коммит в основную ветку. Временную удаляешь везде. Повторяешь для следующего этапа.
Похожие вопросы