Рабочий процесс Github для одного разработчика

Я хотел бы получить отзывы о моем рабочем процессе git, потому что это мое первое его использование, и, несмотря на то, что я читал различные статьи и вопросы о переполнении стека, я не уверен, что мой процесс правильный. Это мой текущий рабочий процесс (обратите внимание, что я использую приложение Github для Windows для всех моих взаимодействий с git):

  1. Решите, какую следующую функцию я собираюсь реализовать.
  2. Создайте ветку с подходящим описательным именем для функции. Я делаю это, нажимая кнопку ветки в Github для Windows и вводя новое имя.
  3. Напишите код.
  4. Зафиксируйте эти изменения в моей новой ветке.
  5. Напишите еще немного кода.
  6. Зафиксируйте эти изменения в моей новой ветке.
  7. Я закончил реализацию этой функции, поэтому хочу объединить свои изменения обратно в основную ветку. Поэтому я нажимаю кнопку «Управление» под заголовком ветки.
  8. Слейте новую ветку с основной веткой.
  9. Удалить новую ветку.

Я вполне доволен процессом вплоть до шага 7, после чего я немного сбит с толку. Я думаю, что моя путаница заключается в том, что я пытаюсь использовать приложение Github для Windows, а не командную строку. Приложение, кажется, упрощает задачу, но в моем понимании есть некоторый разрыв между некоторыми командами/инструкциями, которые я упоминал, и действиями, которые вы предпримете в приложении.

Позвольте мне задать несколько конкретных вопросов:

  1. Действительно ли мой рабочий процесс правильный? Если нет, то что с ним не так и как его улучшить?
  2. Должен ли я «опубликовать» свои изменения в новой ветке? Насколько я понимаю, это эквивалентно выполнению git pushв командной строке. Это правда? Если это так, я думаю, что хотел бы сделать это только тогда, когда я либо закончу реализацию этой функции, либо она будет в приличном состоянии?
  3. Должен ли я удалять ветку, когда я объединил ее с основной веткой, или ее следует оставить навсегда?
  4. Нужно ли публиковать основную ветку после завершения слияния или это неявно?
  5. Иногда я не могу выполнить слияние и получаю это сообщение об ошибке:

    Unable to merge

    Failed to merge 'test' into 'master'. You might need to open a shell and debug the state of this repo.

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

Для справки, это основные ссылки, которые побудили мой процесс:

  1. Скотт Чакон о рабочем процессе в Gitub
  2. Рабочий процесс Git для одного разработчика в локальном репозитории
  3. Рабочий процесс Git для одного пользователя

13
задан Community 23 May 2017 в 12:24
поделиться