Мне нужна некоторая обратная связь по моему рабочему процессу git, потому что это мое первое использование и, несмотря на чтение различных статей и вопросов переполнения стека, я не уверен, что мой процесс верен. Это мой текущий рабочий процесс (обратите внимание, что я использую приложение Github для Windows для всех моих взаимодействий git):Рабочий процесс Github для одного разработчика
- Решите, что следующая функция, которую я собираюсь реализовать.
- Создайте ветку с соответствующим описательным названием для этой функции. Я делаю это, нажав на кнопку филиала в Github для Windows и набрав новое имя.
- Напишите код.
- Зафиксируйте эти изменения в моей новой ветке.
- Напишите еще один код.
- Зафиксируйте эти изменения в моей новой ветке.
- Я закончил реализацию функции, поэтому хочу объединить свои изменения обратно в главную ветку. Поэтому я нажимаю кнопку «управлять» под заголовком ветки.
- Слить новую ветку в ведущую ветку.
- Удалить новую ветку.
Я доволен процессом до этапа 7, после которого я немного смущен. Я думаю, что моя путаница заключается в том, что я пытаюсь использовать приложение Github для Windows, а не использовать командную строку. Похоже, что приложение упрощает работу, но в некоторых отношениях есть некоторые проблемы, связанные с некоторыми командами/инструкциями, которые я вижу, и действия, которые вы должны предпринять в приложении.
Позвольте мне задать несколько конкретных вопросов:
- Является ли мой рабочий процесс на самом деле правильно? Если нет, что с ним не так и как я могу его улучшить?
- Должен ли я публиковать мои изменения в новой ветке? Я понимаю, что это эквивалентно выполнению
git push
в командной строке. Это правда? Если это так, я думаю, что я только хотел бы сделать это, когда я либо закончу реализацию функции, либо находится в приличном состоянии? - Должен ли я удалять ветку, когда я объединил ее в ведущую ветку, или ее нужно оставить навсегда?
- Должен ли я опубликовать главную ветвь, когда я завершил слияние или это неявно?
- Я иногда не в состоянии выполнить слияние и получить это сообщение об ошибке:
Невозможно объединить
Не удалось объединить «тест» в «хозяина». Возможно, вам придется открыть оболочку и отладить состояние этого репо.
Когда это произошло раньше, я был в состоянии перейти к главной ветви и объединить новый филиал в мастер-отрасли, однако, что больше не работает. Независимо от того, в какой ветви я вхожу, я не могу объединить две ветви. Оба синхронизированы, и я опубликовал все изменения в моей тестовой ветке. Что я должен вводить в оболочку, чтобы узнать, почему я не могу объединить ветки?
Для справки, это основные ссылки, которые подсказали мой процесс:
- Scott Chacon on the workflow at Gitub
- Git workflow for a single developer on a local repository
- Git workflow for a single user
Спасибо - это хорошо, что я на правильном пути! Я все еще немного смущен ветками, хотя, и я думаю, что это то, от чего начинается моя слияния. Когда я создам новую ветку в Github для Windows, должен ли я ожидать, что она создаст новый каталог где-нибудь? Потому что, если это не так, я просто редактирую код, который находится в моей главной ветке? – Stu
Git хранит все в кучке дельт в папке .git. Поэтому, когда вы создаете новую ветку, это похоже на то, что вы работаете над копией вашей основной/клонированной ветви. Но все это в одной папке (фиксируйте некоторые изменения и перебрасывайте ветви и снова открывайте свой файл). Следите за тем, какую ветку вы проверили, потому что легко начать писать кучу вещей, забыв, что вы не переключали ветви, и в конечном итоге вы совершаете мастер, а не свою ветку функций. Вот где заставки приходят очень кстати. – yellottyellott
Извините, что не принял это как ответ на мой вопрос раньше, некоторые, как я, кажется, пропустил ваш последний комментарий, который ответил на все мои вопросы. Огромное спасибо! – Stu