繁体   English   中英

Windows 自定义 git 命令

[英]Windows custom git commands

假设我想要一个新的 git 命令 git new,它创建一个与 origin/master 保持同步的新分支。

有什么方法可以制作这个脚本并让它在 Windows 上的所有存储库中从 powershell 中可用?

编辑:为了澄清我想要一个 git 脚本而不是一个 powershell 函数。 我提到 powershell 的唯一原因是因为我不使用 git bash。

创建一个包含以下命令的批处理文件:

git branch %1 origin/master
git checkout %1

将其保存为C:\\Scripts\\new-branch.cmd (我从未使用过 PowerShell,我不知道它的规则。但是,使用旧的 Windows 命令提示符应该也能正常工作)。

通过运行来测试批处理文件是否按预期工作:

C:\Scripts\new-branch.cmd test1

它应该沿着这些行输出一些东西:

Branch test1 set up to track remote branch master from origin by rebasing.
Switched to branch 'test1'
Your branch is up-to-date with 'origin/master'.

如果您不需要新分支来跟踪远程分支,那么您只需将--no-track添加到git branch命令。

如果一切顺利,则运行:

git config --global alias.new "!C:/Scripts/new-branch.cmd"

这使得Git别名new可用于所有存储库中的 Windows 配置文件。 如果您只在一个存储库中需要它,则删除--global并在当前目录位于您需要它的存储库中时运行该命令。

将其用作:

git new test2

您可以使用使用git checkout的 git别名

git config --global alias.new 'checkout origin/master -b'

然后将其用作git new new_branch

(这相当于git checkout origin/master -b new_branch

请参阅git 文档以进行结帐 我尝试了该命令并且它起作用了,但是当我查看文档时,我没有找到与我的表单完全匹配的语法。 (最近的是git checkout [-q] [-f] [-m] [[-b|-B|--orphan] <new_branch>] [<start_point>]

注意:@axiac,我可能使用了!git是因为它没有伤害,而且我可能需要执行多个命令来解决问题,并且在我完成后没有将其删除。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM