2012-07-29 2 views
13

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

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

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

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

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

    Невозможно объединить

    Не удалось объединить «тест» в «хозяина». Возможно, вам придется открыть оболочку и отладить состояние этого репо.

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

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

  1. Scott Chacon on the workflow at Gitub
  2. Git workflow for a single developer on a local repository
  3. Git workflow for a single user

ответ

4

То, что вы описываете звуки как общего ветвящегося процесса, который работает очень хорошо даже для нескольких разработчиков на одной базе кода. Он полностью покрыт git flow, который является расширением командной строки git для автоматизации определенных этапов. Это стоит проверить.

Я не большой поклонник инструментов пользовательского интерфейса для git. Я использую командную строку большую часть времени. Поэтому я не испытываю проблем с GitHub для Windows. Но я уверен, что ваши проблемы возникают из-за того, что ваши слияния больше не ускоряются. Для этого потребуется ручной шаг слияния, который (афайк) не покрывается инструментом.

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

Вы должны опубликовать (толчок) мастер-ветвь после слияния в.

Чтобы ознакомиться с мерзавца командной строкой инструментом, который я предлагаю, начиная с Introduction to Git and GitHub от парней GitHub и следовать их ссылкам ссылки для получения более подробной информации ,

Надеюсь, что поможет

+0

Спасибо - это хорошо, что я на правильном пути! Я все еще немного смущен ветками, хотя, и я думаю, что это то, от чего начинается моя слияния. Когда я создам новую ветку в Github для Windows, должен ли я ожидать, что она создаст новый каталог где-нибудь? Потому что, если это не так, я просто редактирую код, который находится в моей главной ветке? – Stu

+0

Git хранит все в кучке дельт в папке .git. Поэтому, когда вы создаете новую ветку, это похоже на то, что вы работаете над копией вашей основной/клонированной ветви. Но все это в одной папке (фиксируйте некоторые изменения и перебрасывайте ветви и снова открывайте свой файл). Следите за тем, какую ветку вы проверили, потому что легко начать писать кучу вещей, забыв, что вы не переключали ветви, и в конечном итоге вы совершаете мастер, а не свою ветку функций. Вот где заставки приходят очень кстати. – yellottyellott

+0

Извините, что не принял это как ответ на мой вопрос раньше, некоторые, как я, кажется, пропустил ваш последний комментарий, который ответил на все мои вопросы. Огромное спасибо! – Stu

Смежные вопросы