Windows自定义git命令

时间:2016-08-24 11:09:33

标签: windows git

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

我有没有办法制作这个脚本,并且可以在PowerShell的Windows上的所有存储库中使用它?

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

2 个答案:

答案 0 :(得分:9)

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

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

答案 1 :(得分:1)

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

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

然后将其用作git new new_branch

(等同于git checkout origin/master -b new_branch

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

注意:@axiac,我可能已经使用了!git,因为它没有受到伤害,我可能需要做多个命令来解决问题,并且当它没有被删除时我完成了。