Как правильно вести разработку в нескольких ветках?
Нет, если редактировались разные файлы, то конфликтов не будет.
Когда вы работаете в ветке,  обязательно поддерживайте ее в актуальном состоянии мастера. Т.е. в данном случае после пуша в master (167) переключайтесь на ветку staging (104) и делайте merge мастера в нее. Если даже будут конфликты - разруливаете их в этой отдельной ветке, не трогая master.
Вы, возможно, сегодня не сможете это съесть, но когда сможете, запомните:
1. Никаких коммитов в master, кроме как мержа (лучше с --squash) из оттестированного коммита в ветке релиза
2. Никакой ветки stage, ибо stage - это состояние релизной ветки. Если у вас есть сервер stage (что более чем разумно), заливайте на него  релизную ветку.
3. Фичи, по возможности, пилите в отдельных ветках, которые по возможности ответвляйте от master-а и мержте в релизную ветку.
4. В любом случае, релизную ветку ответвляйте от последнего [стабильного, в master-е других быть не должно, см. п.1] коммита в master-е