Git независимых коммитов от форка до апстрима - PullRequest
1 голос
/ 26 января 2020

У меня есть общая проблема, но я не вижу solid наилучшей практики для ее решения. Я помогаю кому-то еще GitHub репо. Я добавил в репо последнюю ветку разработки. Теперь я хочу применять запросы по запросу один за другим, чтобы было очень легко оценить и объединить каждый из них.

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

На примере основного потока операций MainRepo и ветки main- dev и моя ветка ContribRepo upstream-dev, у меня есть несколько коммитов с одним новым файлом в каждом. Что такое «наилучшая практика», которая позволяет объединять или отклонять каждый коммит без принудительного действия «все или ничего»?

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

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

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

1 Ответ

1 голос
/ 26 января 2020

Легко сделать каждое изменение отдельной веткой. Из командной строки выполните:

git checkout main-dev
git checkout -b my-first-work
git add .
git commit -m 'did some first work'
git push -u origin my-first-work

git checkout main-dev
git checkout -b my-second-work
git add .
git commit -m 'did some second work'
git push -u origin my-second-work

Продолжайте, как это, столько веток, сколько хотите. Затем выполните запрос на извлечение для каждой ветви.

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

У них, безусловно, "есть доступ к вашему репо"! Вот что такое Github.

Но если это их стандарты, они босс своего репо. Просто работайте, как указано выше, и, надеюсь, они будут счастливы.

...