Я знаю, что фиксировать и помещать в репозиторий незавершенную работу - не лучшая идея.

Однако иногда мне нужно перенести рабочее место из компании в дом и из дома в компанию. Наличие временного репозитория может решить проблему, но я думаю, что для этого потребуется утомительный обходной путь:

$ cp ~/real_proejct ~/temp_project
$ cd ~/temp_project
$ git add . && git commit -m 'I am returning home' && git push temp_repo master
# Now I am home
$ cd ~/temp_project && git pull
# some edit
$ git add . && git commit -m 'I am going to company' && git push temp_repo origin
# In company
$ git pull
$ cp ~/temp_project ~/real_project

Я думаю, это не очень красивая вещь. В таком случае как вы справляетесь с такой ситуацией?

  1. Я не работаю дома
  2. Используйте портативный диск
  3. Точно то, что сказал OP
  4. Другие
git
4
Jeon 25 Фев 2016 в 18:52

2 ответа

Лучший ответ

Используйте ветку. См. Синтаксис / пример в экспериментальной ветке Git или отдельном экспериментальном репозитории?. (Но я не уверен, что выбор вишни всегда лучший, хотя, как предлагается там ... вы также можете тянуть и объединять полные ветки.)

Если другие люди работают над своими собственными ветвями или над основной веткой, вы не будете беспокоить их своим кодом, независимо от того, компилируется ли он, дает сбой или что-то еще. Некоторые люди также используют это для одновременной разработки нескольких независимых функций. Возможно, вы заблокированы ошибкой, поэтому вы разветвляете свой код, затем исправляете ошибку, а затем возвращаетесь в свою ветку. Было бы бессмысленно фиксировать неработающий код до того, как он заработает правильно.

2
Community 23 Май 2017 в 12:16

Есть несколько вариантов:

  • использовать общедоступную удаленную ветку
  • используйте другой репозиторий (git remote - ваш друг)

Имейте в виду, что если вы продвигаете незавершенную работу, может быть интересно принудительно нажать, чтобы избавиться от сломанной истории (перебазируйте / реорганизуйте свою историю коммитов перед нажатием).

Я бы порекомендовал сделать следующее:

  • настроить новый репозиторий для вашей личной работы
  • добавить новый репозиторий как удаленный
  • добавить новую ветку синхронизации локально
  • добавить ветку отслеживания из ветки синхронизации в новое репо
  • когда вы хотите синхронизировать свои среды, сделайте так, чтобы ваша локальная ветка выглядела так, как вы хотите
  • принудительно подтолкнуть местную ветку
  • на удаленной машине выполните выборку. и сбросьте ветку синхронизации на удаленную / синхронизацию

Видеть:

0
Community 23 Май 2017 в 12:33