跨所有git分支更改文件可执行位而不发生冲突
我们刚刚将存储库迁移到git,并为我们的开发人员设置了一系列初始分支。然而,我刚刚意识到我应该借此机会更正文件执行权限。它不会影响发行,因为发行过程纠正了这一点,但会使回购变得混乱 开发人员还没有开始使用这些分支 是否有一种方法可以更正所有分支中所有文件的可执行位,而不会在合并时导致后续冲突 在修改了执行权限之后,我计划为所有开发人员添加一个标准配置,core.filemode=false,这样他们就不会再搞砸了跨所有git分支更改文件可执行位而不发生冲突,git,Git,我们刚刚将存储库迁移到git,并为我们的开发人员设置了一系列初始分支。然而,我刚刚意识到我应该借此机会更正文件执行权限。它不会影响发行,因为发行过程纠正了这一点,但会使回购变得混乱 开发人员还没有开始使用这些分支 是否有一种方法可以更正所有分支中所有文件的可执行位,而不会在合并时导致后续冲突 在修改了执行权限之后,我计划为所有开发人员添加一个标准配置,core.filemode=false,这样他们就不会再搞砸了 首先获取带有git branch 使用git Checkout master签出
git branch
find“$dir”-键入d-execchmod-x{}+
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知道如何处理这个问题。为什么要合并呢?如果你想在你的历史上发生这样的事情,它会的。