Git 在 npm 脚本中使用动态分支名称向上游推送
Git push upstream with dynamic branch name inside an npm script
是否可以 运行 一个包含 git 推送命令的 npm 脚本,其中包含基于当前分支的上游选项?
例如,我希望能够 运行 一个命令 npm run push
。
此命令将执行类似 git push -u origin ${current-branch}
的操作,其中 $current-branch
将被本地当前 git 分支替换。
我知道这可以通过创建脚本来实现,但我想知道 npm 或 git 是否已经提供了一些东西来以最少的代码要求实现这一点。
感谢您的帮助!
解法:
Vlad274 的解决方案有效。
步骤:
- 在存储库的根目录中添加一个新文件
.gitconfig
- 应用
git config --local include.path ../.gitconfig
的配置
- 您将能够使用新的 git 命令,该命令将通过使用默认的本地分支名称
与原点一起推送
我使用 git 别名执行此操作,但我假设相同的命令可以通过 npm 运行。
在~/.gitconfig
中:
[alias]
branch-name = "!git rev-parse --abbrev-ref HEAD"
pub = "!f(){ git push -u origin $(git branch-name); };f"
是否可以 运行 一个包含 git 推送命令的 npm 脚本,其中包含基于当前分支的上游选项?
例如,我希望能够 运行 一个命令 npm run push
。
此命令将执行类似 git push -u origin ${current-branch}
的操作,其中 $current-branch
将被本地当前 git 分支替换。
我知道这可以通过创建脚本来实现,但我想知道 npm 或 git 是否已经提供了一些东西来以最少的代码要求实现这一点。
感谢您的帮助!
解法:
Vlad274 的解决方案有效。
步骤:
- 在存储库的根目录中添加一个新文件
.gitconfig
- 应用
git config --local include.path ../.gitconfig
的配置
- 您将能够使用新的 git 命令,该命令将通过使用默认的本地分支名称 与原点一起推送
我使用 git 别名执行此操作,但我假设相同的命令可以通过 npm 运行。
在~/.gitconfig
中:
[alias]
branch-name = "!git rev-parse --abbrev-ref HEAD"
pub = "!f(){ git push -u origin $(git branch-name); };f"