N
Я создаю прилу,и делаю репу в гитхабе.
Делать коммиты и так далее в свою репу знаю как, но Как другу делать комит и пуш в мою репу ? Только через fork а потом pull request ?
Ну у меня в голове такая логика: Есть 3 ветки : Master , develop , develop-second Мастер делаем пуш только 100% кода без багов. Develop пушим общую хуйню(я работал над 1VC, друг над 2VC) Develop-second пишем код и соединяем в develop Хотелось бы узнать как другу самостоятельно делать пуш на develop чтобы автоматом код подтягивался ко мне (если возможно конечно). Типо я пишу в 1VC создание кнопку , а друг уже все свои дела сделал в 2VC , и он делает пуш, а у меня 2VC уже его код. Реал или анрил такое?
А там есть работа с двумя и более разработчиками ? Прост в одиночку более менее понимаю Команды
Есть разные подходы... Самый простой — в мастере держать то, что без багов и работает... а в отдельных feature-ветках держать свои изменения. develop — по-сути не нужна, ведь у всех есть своя ветка. А если она доделана — то в мастере уже есть изменения. Если есть один ответственный за все мерджи в мастер (или хотите по-уму делать), то тогда лучше делать через Pull-request-ы. Когда кто-то пушит свою ветку в репозиторий, у него появляется возможность создать пулл-реквест. Если не ошибаюсь, то гитхаб, при пуше новой ветки, в ответе подскажет ссылку для автоматического создания пулл-реквеста. Можно по этой ссылке перейти и оформить пулл-реквест. Можно вручную зайти на гитхаб и там оформить (кнопка сверху будет зелененькая висеть, что существует ветка, а пулл-реквеста нет, типа можно создать). Далее (если по-уму прям хотите) надо, чтобы каждый из вас отревьюил код. Да-да, автор тоже ревьюит свой код через интерфейс гитхаба... может найти какие-то вещи, которые упустил из виду, работая в любимой IDE. После того, как оба ревьюера поставили отметку, что код норм, ответственный (лучше все-таки оставить одного ответственного, чтобы всегда можно было найти виновного) нажимает кнопку Merge в пулл-реквесте и гитхаб автоматом создаст мердж-коммит в мастер, в который закинет текущую ветку. Ветку можно удалять (вроде, там можно включить автоматическое удаление веток при мердже). Соответственно, чтобы у всех была актуальная кодовая база — каждый день надо пуллиться с мастера. Желательно, сливаться ребейзом, а не мерджем, чтобы не было лишних мусорных коммитов в истории.
на счет ребейзов - не согласен. историю коммитов лучше иметь AS IS
Для каждого пулла с мастера? Ты уверен? У тебя будет 20-30 мердж-коммитов, которые вообще никак не помогут ни разобраться в том, кто виновен в проблеме, ни в том, чтобы удобно лог читался. Мерджы нужны только при слиянии веток. Там действительно есть смысл, чтобы понимать историю всех изменений. Но при пуллах с мастера — мусор
не согласен на счет дева, в деве у тебя рабочий код, вот к примеру есть задача сделать экран настроек, ты его бьешь на фичи, фичии делаются, пулятся в дев ии поттом дев с экраном настроек, оттестированный и если есть баги созданы ветки от дева багфикс, и вот только потом оттестированый законченый код сливается в рабочую ветку в мейн и код в мейне уже рабочий который можно выгружать пользователю, и если будут баги в мейне то это хотфиксы и мейн должен подлеваться в дев.
кхм... а почему бы тебе на эту большую фичу Экрана настроек не создать отдельную ветку и маленькие ветки от неё отпочковывать и в неё сливать пока не доделана? Зачем тебе вырожденная dev ветка? Тебе ведь придется где-то еще держать информацию о том, что в dev ветке сейчас разработка такой-то фичи
в мастере проблем не должно быть - там же production-ready код и кому попалу туда мержить должно быть запрещено
по-моему, ты просто хочешь мне объяснить то, что я написал другими словами 😊
А как ты протестируешь совместимость фичей? В ветке1 Лежит протестированная фича1. В ветке2 - протестированная фича2. Сливаешь в мастер, а тут бац и что-то не работает или тупо конфликт. Мастер как раз нужен просто как история стабильных релизов. И если есть желание отказаться, от лишней ветки, то лучше от мастера =)))
не надо не от чего отказываться =) все уже придумано и работает =) гит флоу называется =)
Обсуждают сегодня