当前位置: 首页 > 知识库问答 >
问题:

Windows自定义git命令

彭畅
2023-03-14

假设我需要一个新的git命令gitnew,它生成一个新分支,该分支与origin/master是最新的。

是否有一种方法可以使此脚本在powershell的Windows上的所有存储库中都可用?

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

共有2个答案

戈嘉慕
2023-03-14

您可以使用使用git签出的git别名:

git配置-全局alias.new'签出源/主-b'

然后,它将被用作git new\u分支。

(这是等同于git签出源/master-bnew_branch

查看git文档以进行签出。我尝试了这个命令,它成功了,但是当我查看文档时,我没有找到与我的表单完全匹配的语法。(最近的是git checkout[-q][-f][-m][-b |-b |--orphan]

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

郑波
2023-03-14

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

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 目录下的 hooks 子目录中。 也即绝大部分项目中的 .git/hooks 。 当你用 git init 初始

  • 你也可以针对特定的路径配置某些设置项,这样 Git 就只对特定的子目录或子文件集运用它们。 这些基于路径的设置项被称为 Git 属性,可以在你的目录下的 .gitattributes 文件内进行设置(通常是你的项目的根目录)。如果不想让这些属性文件与其它文件一同提交,你也可以在 .git/info/attributes 文件中进行设置。 通过使用属性,你可以对项目中的文件或目录单独定义不同的合并策

  • 到目前为止,我们已经阐述了 Git 基本的运作机制和使用方式,介绍了许多 Git 提供的工具来帮助你简单且有效地使用它。 在本章,我们将演示如何借助 Git 的一些重要的配置方法和钩子机制,来满足自定义的需求。 通过这些工具,它会和你、你的公司或你的团队配合得天衣无缝。 你在 起步 中看到,可以用 git config 配置 Git。 首先要做的事情就是设置你的名字和邮件地址: $ git con

  • 3.3 自定义命令 命令语法 定义命令与定义映射的用法其实很相似: :command {lhs} {rhs} 只不过在使用自定义命令时,{lhs} 是直接输入到命令行中的,当你按下回车时,vim 就将 {lhs} 替换为 {rhs} 再执行。所以这在形式上与下面这个映射等效: : nnoremap :{lhs}<CR> :{rhs}<CR> 当然,由于 :command 所支持的参数与 :ma

  • 问题内容: 我有一个名为“ example”的库,该库正在安装到我的全局site- packages目录中。但是,我希望能够安装两个版本,一个用于生产版本,一个用于测试版本(我有一个Web应用程序,而其他东西也都以这种方式进行了版本化)。 有没有一种方法可以指定,例如“ python setup.py stage”,它不仅可以将其他鸡蛋安装到站点程序包中,还可以将模块从“ example”重命名为

  • 我们已经阐述了大部分通过自定义 Git 客户端和服务端来适应自己工作流程和项目内容的方式。 你已经学到各种各样的设置项、基于文件的选项和事件钩子,还建立了一个示例用的强制策略服务器。 无论创造出了什么样的工作流程,你都能使 Git 与它珠联璧合。