Вопросы про Git (часть 2)

StalkerClasses

Новичок
Подскажите пожалуйста правильно ли понимаю логику работы с Git.

1. Правильно ли понимаю что когда делаю push, pull то отправляются и принимается та ветка, что сейчас у меня установлена как активная (т.е. не отправляются и не обновляются все ветки)?

2. Когда работают несоклько разработчиков то каждый имеет свою ветку petrBranch, ivanBranch, andreyBranch?

3. У меня есть две ветки
- master
- forWork

Правильно ли понимаю что если я планирую дома продолжить работу на другом компе, то прежде чем уйти я должен влить изменения из ветки forWork (в которой работал) в ветку мастер, переключиться на ветку master и отправить ее на github. А дома уже сделать clone (будет скопирована ветка master).

4. Когда делаю clone с github то почему то копируется только 1 ветка?
Что делаю не правлильно - дома то я должен продолжить опять в ветке forWork?

После clone нужно забрать изменения "git pull"?
 

StalkerClasses

Новичок
5. Не совсем пойму хранит ли в себе папка .git список подключенных удаленных репозиториев (git remote -v)? При переносе с одного компьютера на другой?
 

Вурдалак

Продвинутый новичок
1. Правильно ли понимаю что когда делаю push, pull то отправляются и принимается та ветка, что сейчас у меня установлена как активная (т.е. не отправляются и не обновляются все ветки)?
Обычно да, но вроде бы git push можно настроить так, чтобы все ветки пушились.

2. Когда работают несоклько разработчиков то каждый имеет свою ветку petrBranch, ivanBranch, andreyBranch?
Это зависит от выбранного workflow (т.е. не имеет непосредственного отношения к git). Чаще всего просто по номеру тикета в трекере задач.

3. У меня есть две ветки
- master
- forWork

Правильно ли понимаю что если я планирую дома продолжить работу на другом компе, то прежде чем уйти я должен влить изменения из ветки forWork (в которой работал) в ветку мастер, переключиться на ветку master и отправить ее на github. А дома уже сделать clone (будет скопирована ветка master).
Достаточно запушить forWork, а git clone копирует репозиторий целиком, а не отдельно взятую ветку.

4. Когда делаю clone с github то почему то копируется только 1 ветка?
Что делаю не правлильно - дома то я должен продолжить опять в ветке forWork?
Должны копироваться все (во всяком случае по умолчанию; возможно действительно есть опции копировать только одну). Неправильно копируешь или не там ищешь ветки.

5. Не совсем пойму хранит ли в себе папка .git список подключенных удаленных репозиториев (git remote -v)? При переносе с одного компьютера на другой?
Да, .git/config.
 

antson

Новичок
Партнер клуба
3. master - желательно чтобы был стабилен.
т.е. не доделанные вещи в него не должны попадать.
 

fixxxer

К.О.
Партнер клуба
1. Правильно ли понимаю что когда делаю push, pull то отправляются и принимается та ветка, что сейчас у меня установлена как активная (т.е. не отправляются и не обновляются все ветки)?
Когда ты делаешь push/pull без аргументов - по умолчанию используется апстрим origin и текущая ветка.
Всегда можно указать явно: git push origin master. Если делаешь force, то лучше всегда указывать явно, цена ошибки высока.

Когда работают несоклько разработчиков
Как договоритесь, так и будет. Главное договориться и всем делать одинаково.
Обычно используют ту или иную вариацию на тему git flow http://nvie.com/posts/a-successful-git-branching-model/

Правильно ли понимаю что если я планирую дома продолжить работу на другом компе, то прежде чем уйти я должен влить изменения из ветки forWork (в которой работал) в ветку мастер, переключиться на ветку master и отправить ее на github. А дома уже сделать clone (будет скопирована ветка master).
Неправильно. Зачем в мастер гадить?
Чем твой "домашний комп" отличается от ситуации "работаем в одной ветке с другим разработчиком"?
4. Когда делаю clone с github то почему то копируется только 1 ветка?
Это не так, клонируется весь репозиторий.

Прочитай уже git book наконец :)
Там все это описано
https://git-scm.com/book/en/v2
 

AnrDaemon

Продвинутый новичок
2. Когда работают несоклько разработчиков то каждый имеет свою ветку petrBranch, ivanBranch, andreyBranch?
Каждый имеет свой репозиторий. И часто не один. Каждый git clone создаёт новый, по сути независимый репозиторий.
Все "связи" - это одна видимость через ремоты.

4. Когда делаю clone с github то почему то копируется только 1 ветка?
Что делаю не правлильно - дома то я должен продолжить опять в ветке forWork?
По git clone ЧЕКАУТИТСЯ одна ветка? ЕСТЕСТВЕННО. А клонируется по умолчанию весь репо.
 
Сверху