假设我想要一个新的Git命令,git new,它可以创建一个与origin/master同步的新分支。
是否有一种方法可以编写这个脚本,并从PowerShell在Windows上使其对所有存储库都可用?
编辑:为了澄清,我想要一个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'.
如果您不需要新分支跟踪远程分支,则只需在git branch
命令中添加--no-track
。
如果一切顺利,请运行:
git config --global alias.new "!C:/Scripts/new-branch.cmd"
这样做会在所有仓库中使得 Git
的别名 new
对您的Windows配置文件可用。如果您只需要在一个仓库中使用该别名,则删除 --global
并在当前目录在您需要它的仓库中运行该命令。
使用方式如下:
git new test2
git config --global alias.new '!git checkout origin/master -b'
。使用方法如下: git new new_branch
. - Thomas Fgit checkout
的别名(alias):
git config --global alias.new 'checkout origin/master -b'
之后你就可以通过 git new new_branch
来使用了。git checkout origin/master -b new_branch
)git checkout [-q] [-f] [-m] [[-b|-B|--orphan] <new_branch>] [<start_point>]
)!git
因为它不会有影响,并且我可能需要执行多个命令来解决问题,并且完成后没有将其移除。
git new
运行它,而你不能创建这样的别名。我也不想制作一个 hacky PowerShell 函数,我想在 Windows 上制作一个 git 脚本。 - RusinaRange