git fetch -u 的 updateInstead 等价物
Equivalent of updateInstead for git fetch -u
与其他地方的 documented and discussed 一样,git fetch
拒绝获取当前分支,除非您提供 -u
选项。
这种行为在大多数情况下都非常合理,并且显然是正确的默认设置。但是,这不是我想要的行为。相反,我想要类似配置选项 receive.denyCurrentBranch=updateInstead
的功能:如果当前工作树和索引匹配 HEAD
,则允许获取和更新工作树;否则,使用与默认值类似的消息拒绝获取。有什么方法可以在不使用 git fetch -u
编写我自己的 porcelain 命令的情况下做到这一点?
我之所以想要这个,以防有更好的工作流程可用,是因为我正在处理许多存储在单独的 Git 存储库中的项目。他们中的大多数只是在 dev
本地分支上,它的上游是 dev/master
远程分支。当我实际进行开发时,我会在一个以我正在开发的功能命名的分支上进行,而不是 dev
分支。我希望所有远程分支都可用,所以我需要定期执行 git fetch --all -p
,我还需要在我未构建的项目中执行 git pull
,以便它们拥有最新代码。因为有很多项目,所以最简单的方法是在 Bash 和 运行 git fetch --all -p; git pull
中循环遍历所有项目。不幸的是,这也 运行s git pull
在我当前正在更改的项目上,这可能会导致合并冲突,而不仅仅是获取最新的依赖项。
相反,我希望我当前未处理的项目能够自动更新工作树;那么我只需要 运行 git pull
我目前正在处理的存储库。这样,我可以 运行 只有在适当的时候才可以,而当我只想针对依赖项目的最新源进行构建时,不用担心合并冲突。
您可以开始使用 git 钩子和 运行
git fetch -a
任何需要的时候
I additionally need to do a git pull
in the projects I’m not building so they have the latest code ... Unfortunately, that also runs git pull
on the projects I’m currently making changes on
您可以 运行 git pull --ff-only
,如果有一些本地提交,它会立即失败。
与其他地方的 documented and discussed 一样,git fetch
拒绝获取当前分支,除非您提供 -u
选项。
这种行为在大多数情况下都非常合理,并且显然是正确的默认设置。但是,这不是我想要的行为。相反,我想要类似配置选项 receive.denyCurrentBranch=updateInstead
的功能:如果当前工作树和索引匹配 HEAD
,则允许获取和更新工作树;否则,使用与默认值类似的消息拒绝获取。有什么方法可以在不使用 git fetch -u
编写我自己的 porcelain 命令的情况下做到这一点?
我之所以想要这个,以防有更好的工作流程可用,是因为我正在处理许多存储在单独的 Git 存储库中的项目。他们中的大多数只是在 dev
本地分支上,它的上游是 dev/master
远程分支。当我实际进行开发时,我会在一个以我正在开发的功能命名的分支上进行,而不是 dev
分支。我希望所有远程分支都可用,所以我需要定期执行 git fetch --all -p
,我还需要在我未构建的项目中执行 git pull
,以便它们拥有最新代码。因为有很多项目,所以最简单的方法是在 Bash 和 运行 git fetch --all -p; git pull
中循环遍历所有项目。不幸的是,这也 运行s git pull
在我当前正在更改的项目上,这可能会导致合并冲突,而不仅仅是获取最新的依赖项。
相反,我希望我当前未处理的项目能够自动更新工作树;那么我只需要 运行 git pull
我目前正在处理的存储库。这样,我可以 运行 只有在适当的时候才可以,而当我只想针对依赖项目的最新源进行构建时,不用担心合并冲突。
您可以开始使用 git 钩子和 运行
git fetch -a
任何需要的时候
I additionally need to do a
git pull
in the projects I’m not building so they have the latest code ... Unfortunately, that also runsgit pull
on the projects I’m currently making changes on
您可以 运行 git pull --ff-only
,如果有一些本地提交,它会立即失败。