跨所有git分支更改文件可执行位而不发生冲突

跨所有git分支更改文件可执行位而不发生冲突,git,Git,我们刚刚将存储库迁移到git,并为我们的开发人员设置了一系列初始分支。然而,我刚刚意识到我应该借此机会更正文件执行权限。它不会影响发行,因为发行过程纠正了这一点,但会使回购变得混乱 开发人员还没有开始使用这些分支 是否有一种方法可以更正所有分支中所有文件的可执行位,而不会在合并时导致后续冲突 在修改了执行权限之后,我计划为所有开发人员添加一个标准配置,core.filemode=false,这样他们就不会再搞砸了 首先获取带有git branch 使用git Checkout master签出

我们刚刚将存储库迁移到git,并为我们的开发人员设置了一系列初始分支。然而,我刚刚意识到我应该借此机会更正文件执行权限。它不会影响发行,因为发行过程纠正了这一点,但会使回购变得混乱

开发人员还没有开始使用这些分支

是否有一种方法可以更正所有分支中所有文件的可执行位,而不会在合并时导致后续冲突

在修改了执行权限之后,我计划为所有开发人员添加一个标准配置,core.filemode=false,这样他们就不会再搞砸了

  • 首先获取带有
    git branch
  • 使用git Checkout master签出
  • 从文件中删除执行位:
    find“$dir”-键入d-execchmod-x{}+
  • 将所有内容添加到staging<代码>git添加。
  • 承诺吧
    git commit-m“从所有文件中删除执行perm”
  • 依次签出每个分支,并将它们重新设置到
    master

    for branch in <LIST_OF_BRANCHES>; do
      git rebase master
    done
    
    用于中的分支;做
    git重基主控器
    完成
    
    其中,
    是由空格分隔的其他分支名称


  • git不跟踪任何文件权限,除了可执行文件位。谢谢@JeffPuckettII抱歉,我应该说得更清楚。这是我试图修复的可执行文件。目前,存储库中几乎所有的文件都设置为可执行文件,大多数文件不需要设置为可执行文件。我将改变问题来澄清。因为还没有人使用它来重新制作回购协议。把愚蠢的事情排除在历史之外。此外,不需要设置分支。它们在吉特很便宜,而且是本地的。最好在样式指南中写下分支约定,并让开发人员遵循这些准则。迁移是什么意思?这是一个简单的
    git init
    ?当然,请删除
    .git
    目录,然后再次执行
    git init.
    。如果分支已将更改提交给删除了执行位的相同文件,那么这会发生冲突吗?或者git是否足够聪明,只需更改可执行位?git merge master也可以吗?在这种情况下,rebase更可取吗?Git很可能能够管理这一点。如果不是的话,你可以
    git-rebase--abort
    ,但我确信git知道如何处理这个问题。为什么要合并呢?如果你想在你的历史上发生这样的事情,它会的。