Как правильно совместно работать и обновлять ветку master?
============================================================

 Здравствуйте!  

Я не уверен, как правильно организовать работу с репозиторием если приходится вносить много мелких изменений и при этом избегать конфликтов? Коммиты попросили загружать через pull request. Есть две постоянные ветки, где master - рабочая "окончательная" версия и develop - ветка для изменений. Допустим, когда нужно внести правку:   

переходим на ветку develop командой git checkout >   

затем git pull, чтобы получить обновления >  

затем вносим свои изменения в код >   

затем git add . и git commit чтобы внести изменения >  

 потом git push -u -origin develop, чтобы отправить изменения >  

Затем на гитхабе готовим pull request и всё? Дальше основной владелец примет у себя изменения и master обновиться?  

Самому master лучше не трогать? И можно ли делать так несколько раз подряд, если нужно добавить еще правки?  

  

И если всё же есть разрешение на самостоятельное обновление master, то как переносить изменения в неё из develop? С помощью checkout develop "измененные файлы", добавить коммит и запушить?  

  

Заранее спасибо 

> Допустим, когда нужно внести правку:  
> 
> переходим на ветку develop командой git checkout >  
> 
> затем git pull, чтобы получить обновления >  
> 
> затем вносим свои изменения в код >

затем `git fetch origin master`, что-бы притянуть изменения из мастера, если они появились. Затем решить конфликты, если они появились. а потом уже коммит и пуш.  

  

> Затем на гитхабе готовим pull request и всё? Дальше основной владелец примет у себя изменения и master обновиться?

да  

  

> Самому master лучше не трогать?

не трогай если не владелец  

  

> И можно ли делать так несколько раз подряд, если нужно добавить еще правки?

нужно  

  

> И если всё же есть разрешение на самостоятельное обновление master, то как переносить изменения в неё из develop? С помощью checkout develop "измененные файлы", добавить коммит и запушить?

нет, ужас какой. Надо делать `git merge develop`, если конфликтов не будет - все коммиты из ветки develop просто подтянутся в мастер и он будет в актуальном состоянии. А еще благодаря мёржам будет видно что куда откуда и кода бралось, а при `git checkout` ветки не будут связаны.  

  

> Как правильно совместно работать

разные ветки себе сделайте для разработки 

 Через pull request - это для каждого изменения свою ветку создавать от ветки develop, коммитить и пушить её, и её уже подавать на pull request. Исходные ветки master и develop изменяться вручную не должны, в них добавление происходит путём принятия пулл реквеста теми, кто ответственен за это в проекте.