Windows自定义git命令
假设我需要一个新的git命令gitnew,它生成一个新分支,该分支与origin/master是最新的 是否有一种方法可以使此脚本在powershell的Windows上的所有存储库中都可用Windows自定义git命令,windows,git,Windows,Git,假设我需要一个新的git命令gitnew,它生成一个新分支,该分支与origin/master是最新的 是否有一种方法可以使此脚本在powershell的Windows上的所有存储库中都可用 编辑:为了澄清我想要的是git脚本而不是powershell函数。我提到powershell的唯一原因是我没有使用git bash。创建一个包含以下命令的批处理文件: git branch %1 origin/master git checkout %1 将其保存为C:\Scripts\new branc
编辑:为了澄清我想要的是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签出的git别名:
git config--global alias.new“checkout origin/master-b”
然后,它将被用作git new\u分支
(这相当于git checkout origin/master-b new_branch
请参见。我尝试了该命令,但当我查看文档时,没有找到与我的表单完全匹配的语法。(最接近的是git checkout[-q][-f][-m][-b |-b |-orphant][
)
注意:@axiac,我可能使用了
!git
,因为它不会造成伤害,而且我可能需要执行多个命令来解决问题,但在完成时没有将其删除。您可以使用运行批处理文件的别名。这将对您有很大帮助。这一点都没有帮助。我想使用所述的git new
运行它,您可以使用c我不想做这样的别名。我也不想做一个骇人的powershell函数,我想在windows上做一个git脚本。好吧,这只是一个建议。这不完全是我想做的,但确实做了我想做的。谢谢!顺便说一句,它是%1而不是$1。你是对的。我写了它并在Linux上测试了:-)现在更新了答案。您可以创建一个别名git config--global alias.new'!git签出源/主-b'
。您可以这样使用:git new\u branch
。请注意-我尝试了这个,但它不起作用。原来我是用cmd来设置别名的,文件路径需要用双引号括起来。我相信双引号也适用于Powershell,因此这将改进答案。