December 3rd, 2013

uname

Git: второй день ужаса

Волюнтаристски внедрили git со вчерашнего дня.

Как этим можно реально пользоваться в многолюдных проектах — понимать отказываюсь.

По ощущениям, через жопу сделано абсолютно всё.
Есть набор веток на удалённом origin, есть набор веток локальных. Они почему-то не синхронизируются так, как должны. git push говорит типа "а вот там уже сделаны изменения" и что-то ещё. Делаешь pull — "up to date". В гуёвой тулзе SourceTree от Atlassian вообще одно неловкое движение — и ты запорол как минимум локальный репозиторий, а то и удалённый (сделаю-ка я бэкап на случай факапа, кстати). То есть, там pull можно делать только одной ветки, причем в текущую локальную, что нихера не очевидно. Это приводит ВНЕЗАПНО к merge причем сразу с commit. А всего лишь хотел на другую удаленную ветку переключиться.

Мануалы не помогают — в реальности всё по-другому.

Ещё ветку можно удалить. И я вообще не понимаю, что будет с историей коммитов в эту ветку — пропадёт навсегда? Появится в той ветке, куда финал вмерджили? Караул.

Git-svn, которым я импортил svn-репу, сделал странное.
Когда делаешь git log, он показывает все svn-коммиты. Но посмотреть историю файла (git log file.cpp) почему-то нельзя.

И вот таких мелких вещей до дури. И каждая бесит. А надо работать, а не разбираться с фичами этой, так сказать, системы контроля версий.