管理dotfiles在git配置中合并冲突而不破坏git

问题描述 投票:0回答:1

我在~/.dotfiles的git存储库中管理我的配置文件,并使用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并随后删除?

git merge-conflict-resolution dotfiles
1个回答
1
投票

这是一个非常有趣的问题。

我建议避免它。 :-)

我在Git存储库中保留了一组点文件(包括$HOME/.gitconfig文件),但是我没有使用这个Git存储库的工作树作为实际的dot-files.1因此,如果发生冲突,它们不会影响实际的点文件。


1这在某些系统上才有效,但我避免在主目录点文件是dotfiles-work-tree副本的硬链接或符号链接的系统上合并。

© www.soinside.com 2019 - 2024. All rights reserved.