0

我现在正用头撞钩子和工作树。

我的目标是每当我在任何分支上提交时将“main”合并到所有工作树中。

因此,当我在“main”上提交时,每个分支都会合并更改。

当我在任何其他分支上提交时,它会立即合并“main”以防止冲突。其他分支尝试合并但已经是最新的。

所以我尝试了

.git/hooks/post-commit

#!/bin/sh    
for BRANCH in $(ls .git/refs/heads) 
do      
    git checkout $BRANCH #fatal: is already checked out
    git switch $BRANCH #same error
    git merge main
    git commit $BRANCH
done    
exit 0

如何切换分支以进行合并和提交?

谢谢你的帮助

编辑 我要解决的问题是:我确实有 5-10 个非常模糊的、未记录的配置文件,它们需要一个通用的主体(主要),这些文件遍布各处,然后为特定设备添加/更改一些行/值. 它似乎对选项的顺序有些敏感。有些我可以四处走动,有些会导致错误消息(“xy 行中的意外参数”)。

主要和分支都进行了更改。

我认为始终在任何分支上(无效)进行合并比仅在特定分支上自动执行合并更容易。

所以功能相当于:

  • 提交主要:合并到所有
  • 提交 branch01:将 main 合并到 branch01(创建新状态以防止冲突)。

我的工作树是远程分支,很抱歉造成混乱。我是 git 的新手,并且正在与术语作斗争。

当我在 Branch 01 中创建第 1 行“特别到 branch01”时,我确实遇到了冲突,提交。然后在 Main line1 提交上添加“我在每个配置中需要的东西”。合并导致冲突,因为两个更改都是“添加第 1 行 X/Y”

4

0 回答 0