чтоб выбрать аргументировано, нужно самому попробовать то и другое.
накидайте список операций и выполните их в каждой vcs по очереди.
много времени это не займет, зато поймете что вам ближе.
для простых операций можно обойтись гуями (из бесплатных: вышеупомянутый SourceTree, GitHub Desktop, SmartGit) или встроенными средствами редактора/IDE.
сохранять файлы в utf.
если это по каким-либо причинам невозможно, то конвертить туда-сюда налету при помощи фильтров или постоянно менять кодировку в браузере при просмотре в режиме raw.
Если файл уже под контролем (был ранее добавлен в репозиторий), то .gitignore на нем работать не будет. Что, собственно, и логично.
Есть два варианта:
- удалить файл -> закомитить -> добавить в .gitignore -> вернуть файл
- удалить из индекса (git update-index --assume-unchanged your-file) -> добавить в .gitignore