Поскольку вы поддерживаете приятный линейный рабочий процесс Git, я собираюсь предположить, что вы используете перезагрузку, чтобы держать вещи такими, какие они есть.
Вы можете просто работать в офисе сегодня, как обычно, и совершать свою работу. Когда вы вернетесь на работу, вы можете сделать git pull --rebase
, чтобы внести изменения с работы. Ваш локальный филиал будет находиться за удаленной версией одной или несколькими коммитами. Rebasing заставит вашу домашнюю ветку выглядеть так, как если бы вы на самом деле делали работу прошлой ночи над сегодняшней работой в офисе. Выполните следующие действия в домашних условиях:
git commit -m 'Changes from last night which I forgot'
git pull --rebase origin master
Там могут быть конфликты от этого, но это не слишком вероятно, если вы действительно работали на совершенно отдельные части проекта в офисе.
Вот диаграмма, показывающая, что состояние вашего дома и удаленного master
филиала будет после вы фиксируете свою работу на дому прошлой ночью:
remote: A --- B --- C
\
local: D
Здесь, совершают C
это обязательство вы сделали на работе сегодня и совершить D
- это фиксация, которую вы совершите сегодня вечером (для работы прошлой ночи). Теперь после того, как вы git pull --rebase origin master
диаграмма будет выглядеть следующим образом:
remote: A --- B --- C
\
local: D'
Когда вы git push
ваши изменения, пульт дистанционного управления будет получать одно новое обязательство на вершине, что это было от работы. И когда вы пойдете на работу завтра, все будет продолжаться так, как они были.
Вы не можете войти на свой домашний компьютер с работы? – TemplateRex
Если вы работаете над другим разделом, который вы изменили дома, вам не нужно беспокоиться, просто работайте над другими разделами и нажимайте изменения. Когда вы вернетесь домой, потяните их и нажмите изменения, которые вы сделали дома. –
Работайте над отдельной ветвью, а затем объедините это с помощью @home one? – hjpotter92