它们是一种仅针对当前推送将 push.default 设置为 `current` 的方法吗

Is they a way to set push.default to `current` only for the current push

我在 git 配置中将 push.default 选项设置为 simple,因为我认为这样更有意义,这样我就不会在我的远程存储库上创建不需要的分支如果我不小心推了什么东西。

但是,有时候,我知道这个推送会在远程创建一个新的分支,所以我想告诉 git 对于这个特定的命令,我愿意改变push.default 配置为 current(以便它创建一个与我当前所在的分支同名的分支),但仅针对该命令。

他们可以使用 git 来做到这一点吗?还是我应该创建一个 bash 别名?

您可以尝试 -c option of the git command:

git -c "push.default=current" push -u origin newBranch

使用:

-c <name>=<value>

Pass a configuration parameter to the command. The value given will override values from configuration files.
The <name> is expected in the same format as listed by git config (subkeys separated by dots).

有很多方法可以做你想做的事。一种可能性是按照 VonC 的建议去做。

但是,我认为好的策略是,如果您在远程需要该分支,则应该创建它。不要强制从应该与更多开发人员共享的存储库外部创建分支。

此外,您可能没有权限在远程创建分支,您必须向该存储库的管理员请求权限。