Управляйте конфликтами слияния дотфайлов в git config, не нарушая git - PullRequest
0 голосов
/ 06 сентября 2018

Я управляю своими файлами конфигурации в репозитории git в ~/.dotfiles и развертываю их с помощью stow.

Иногда я сталкиваюсь с ошибками вроде:

First, rewinding head to replay your work on top of it...
Applying: tmux: put newer version commands inside if-block
fatal: bad config line 149 in file /home/ravi/.config/git/config
Cannot store 5639c86778d99ec6b34c93bfd4d122c1cbb379a8

git жалуется, потому что его конфигурационный файл имеет неправильный синтаксис - из-за еще не разрешенного конфликта слияния, конфигурационный файл теперь включает в себя такие строки, как:

<<<<<<< A
lines in file A
=======
lines in file B
>>>>>>> B

Каждый раз, когда это происходит, мне нужно:

  1. git rebase --abort
  2. cp ~/.config/git/config ~/.gitconfig (.gitconfig используется преимущественно)
  3. Завершить операцию, в которой произошел начальный сбой
  4. Не забудьте удалить ~/.gitconfig

Как я могу автоматизировать копирование конфигурации в ~/.gitconfig и последующее удаление?

1 Ответ

0 голосов
/ 06 сентября 2018

Это очень интересная проблема.

Я рекомендую избегать этого. : -)

Я храню набор точечных файлов (включая файл $HOME/.gitconfig) в репозитории Git, но не использую рабочее дерево этого репозитория Git в качестве фактических точечных файлов. 1 Следовательно, если возникают конфликты, они не влияют на фактические точечные файлы.


1 Это справедливо только в некоторых системах, но я избегаю объединения в системах, где точечный файл домашнего каталога является жесткой или символической ссылкой на копию дерева рабочих точек.

...