MyTetra Share
Делитесь знаниями!
Как работать с незавершенными изменениями в коде? Как их коммитить в Git?
Время создания: 05.10.2017 12:09
Текстовые метки: git, временная ветка, незавершенные изменения, коммит, совет, готовый рецепт, команды
Раздел: Компьютер - Программирование - Системы контроля версий (VCS) - Git
Запись: xintrea/mytetra_syncro/master/base/15071945639r4mdnp94j/text.html на raw.github.com

Вопрос:

Как быть, если работал дома, но класс не дописал, хочу дописать на работе, а после сделать коммит. Как отправить незакомиченные данные в удаленный реп?


Ответ:

Нужно сделать из этих изменений новую временную ветку, запушить эту ветку в remote репозитарий, на работе скачать и дальше работать. Когда изменения достигнут какого-то логичного состояния, добавить их в предыдущий коммит (или если вы делали несколько коммитов в новой ветке, слить их в один) и ветку смерджить в вашу рабочую ветку. (Предполагаю, что вы не в master работаете).

По пунктам:

1. Индексируем изменения, делаем новую ветку и коммитим в нее изменения:


git add .

git checkout -b develop-temp

git commit -m'temporary commit'


2. Заливаем временную ветку на удаленный репозиторий. Предполагаю, что удаленный репозиторий называется origin, иначе замените имя на верное.


git push -u origin develop-temp


3. Приходим на работу, забираем ветку. Можно продолжать работу:


git checkout -b develop-temp origin/develop-temp


Здесь может возникнуть проблема: мы не запомнили, как называлась временная ветка, поэтому не можем выполнить вышеприведенную команду. Чтобы вспомнить название ветки, можно дать команду просмотра краткой информации в удаленном репозитарии. В числе прочих, там будет выведена информация о ветках:


git remote show origin

* remote origin

Fetch URL: https://github.com/user/repo

Push URL: https://github.com/user/repo

HEAD branch: master

Remote branches:

master tracked

testing tracked

develop-temp new (next fetch will store in remotes/origin)

Local branch configured for 'git pull':

master merges with remote master

Local ref configured for 'git push':

master pushes to master (up to date)


4. Временную ветку можно использовать дальше, чтобы снова поработать дома (хотя вообще-то это трудоголизм). Когда она не нужна, удалите её:


git push origin :develop-temp



Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования