1) Да
2) Нет, на сервер изменения идут через push, т.е. даже commit- локально.
3) Ветка от ветки будет, в вашей терминологии, подветкой. Это определяется коммитом-родителем, общим для двух веток, от которого "отпочковалась" новая ветка. Если он был веткой, то это подветка =) Но, по сути, никакого четко определенного "ствола" в GIT нет, master- это такая же ветка, как и остальные.
4) Не знаю, но мне "@@" кажется просто разделителем.
5) Автоматически мержатся изменения в непересекающихся частях документа. Допустим, если поредактировали начало и конец. Если изменения было в одной и той же части, то тому, кто не успел сделать push придется разрешать конфликт. Так что не обязательно.