Это вопрос git и не относится к Rails.
Итак - это нормально в git, и это произойдет в такой ситуации
- aruna: X -> Y
/
master: A -> B -> C -> D .....
когда вы объединяете aruna с master (либо путем слияния aruna в ветке master, либо просто потянув команду [pull is «два в одном» - она выполняет выборку и слияние]), вы получите новый узел «merge», который объединение обеих ветвей (узлы C, D & X, Y)
Когда вы спрашиваете, держу пари, что вам это не нравится. Таким образом, возможное решение состоит в том, чтобы перебазировать ветку aruna вместо слияния. Например:
# normally commit everything in your aruna branch
git checkout aruna
git add ...
git commit -m "..." ...
git checkout master
git pull # it will just fetch as there is nothing to be merged
git checkout aruna
git rebase master # and solve possible conflicts
git checkout master
git merge aruna # it will *not* make the "merge node"
git push
EDIT:
Как уже упоминалось, перебазировка на самом деле невозможна, если вы уже нажали на ветку или у вас есть другие люди, которые потянули вашу ветку.
Но все же - перебазирование - вариант, если вы объединяете свою локальную частную ветку. Что является довольно распространенным сценарием. И так как ваша ветка называется "Аруна" (ваше имя), я подумал, что это так. Но, как я думаю об этом снова, нет оснований думать так: -)
При перебазировании (локальная ветвь функций) вы потеряете некоторую часть истории, которая говорит о том, что вы выполняли свои коммиты параллельно. Но компромисс в том, что у вас будет более простое узкое дерево.