带有位置参数的 Git 别名

2024-01-11

基本上我正在尝试别名:

git files 9fa3

...执行命令:

git diff --name-status 9fa3^ 9fa3

但 git 似乎没有将位置参数传递给别名命令。我努力了:

[alias]
    files = "!git diff --name-status $1^ $1"
    files = "!git diff --name-status {1}^ {1}"

...还有其他一些,但这些都不起作用。

退化的情况是:

$ git echo_reverse_these_params a b c d e
e d c b a

...我怎样才能做到这一点?


shell 函数可以帮助解决这个问题:

[alias]
    files = "!f() { git diff --name-status \"$1^\" \"$1\"; }; f"

没有别名!被视为 Git 命令;例如commit-all = commit -a.

随着!,它在 shell 中作为自己的命令运行,让您可以像这样使用更强大的魔法。

UPD
因为命令是在存储库的根目录执行的,所以您可以使用${GIT_PREFIX}在命令中引用文件名时的变量

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有位置参数的 Git 别名 的相关文章

  • Git 将开发分支与生产版本的主分支合并

    我正在使用 Git 进行代码版本控制 我有一个开发分支 我正在其中进行所有肮脏的开发 每次我向世界发布生产版本时 我都想将其放在我的 master 分支下 问题是 每当我合并开发和 master 时 master 都会收到所有开发历史记录
  • 禁止 Gerrit 推送到 refs/for/master

    我已经更新了所有项目昨天获得访问权限 人们说他们今天早上无法将更改推送到存储库 当我恢复访问权限后 他们仍然无法将更改推送到存储库 只能clone工作正常 在将更改推送到远程存储库时 它表示 remote rejected HEAD gt
  • Ruby,通过 SSH 和 LOG 逐一运行 linux 命令

    我想用 Ruby 女巫 net ssh 编写代码 在远程 Linux 机器上一一运行命令并记录所有内容 在 Linux 机器上称为命令 stdout 和 stderr 所以我写函数 def rs ssh cmds cmds each do
  • Gitolite 与 LDAP 不工作

    我是 gitolite 的新手 我正在尝试用 gitolite 进行一个非常简单的测试 我已经设置了名为 test repo 的存储库 请注意 除了下面所述之外 我没有修改任何其他内容 我可以在 gitweb 中看到这个仓库 这是仓库配置
  • git log 不按时间顺序排列

    我在一个公共项目 B2G 又名 FirefosOS 上意外发现 git log 输出不是按时间顺序排列的 git clone https git mozilla org releases gecko git git log graph fo
  • Git 会删除空文件夹吗? [复制]

    这个问题在这里已经有答案了 我已提交一个项目并将其推送到我的 GitHub 帐户 该项目包含以下部分文件结构 server conf some files java lib java 和 lib 文件夹为空 从 GitHub 下载我的项目时
  • 永久删除 git 提交历史记录

    我需要永久且完全删除 git 存储库的提交历史记录并继续使用文件的当前版本 旧版本 提交不得以任何方式访问 我尝试创建一个新的主分支 删除所有其他分支 但是当我在 git bash 中尝试 git show xxxx 时 旧的提交继续显示
  • 如何在iOS中获得旋转UIView的完美X,Y位置

    我正在使用 CABasicanimation 来旋转 UIView 我正在使用这段代码 CABasicAnimation rotationAnimation CABasicAnimation animationWithKeyPath tra
  • Docker exec linux 终端创建别名

    我有一个正在运行且独立的容器 我想在附加到该容器之前创建一个命令别名 当我连接到容器并输入 alias bar foo 创建别名 并可以通过以下方式检查 alias command 但如果我想做同样的事情码头执行者命令即这样 docker
  • 我可以获取两次提交之间 git 子文件夹中已更改文件的列表吗?

    我有一个包含许多文件夹的 git 存储库 我需要找出在两次提交之间这些文件夹之一中的哪些文件发生了更改 有没有一个好的方法来做到这一点 我想你可以坚持走最后的路git diff git diff HEAD HEAD special fold
  • 使用默认行为将模型绑定到接口

    我正在尝试将控制器操作绑定到接口 但仍保持默认的绑定行为 public class CoolClass ISomeInterface public DoSomething get set ISomeInterface public clas
  • 如何使弹出窗口溢出:在溢出内可见:自动上下文

    我有一个 div 列表 如果超过父框 overflow x 应该滚动 并且在悬停时 我想看到一个弹出窗口 我的问题是 如果我将鼠标悬停在任何子 div 上 弹出窗口将被考虑用于溢出计算 但我只想让它在所有内容之上可见 而不是使其扩展滚动区域
  • 如何列出未推送的 Git 提交(本地但不在源上)

    如何查看我所做的 尚未推送到远程存储库的任何本地提交 偶尔 git status将打印出我的分支是X提交之前origin master 但不总是 这是我安装的 Git 的错误 还是我遗漏了什么 这给出了 origin master 和 HE
  • 名称和电子邮件在 Git 的每用户配置文件中设置,但 Git 仍使用默认生成的名称和电子邮件

    标题已经说了 但我会更彻底地解释一下 我已使用以下命令按照建议配置了用户名和电子邮件 git config global user name git config global user email 我可以通过执行以下操作来验证这是设置的g
  • 使用 Git 在线使用 TFS 的 Visual Studio 2013:自动保存文件签入

    我目前正在将 Visual Studio Premium 2013 Update 3 与 Team Foundation Server Online 结合使用并使用 Git 存储库 直到最近 我已经成功使用 Git Repo 几个月了 现在
  • 如何在没有本地存储库的情况下在远程运行 git 命令

    我有一个名为 git export 的脚本 它可以帮助我导出远程存储库 它是这样运行的 git export http host com git repo lt t tag or b branch or c commit gt local
  • git 的精简包是什么?

    我还没有找到太多关于瘦包的信息 并且手册页的信息对此相当含糊 我知道这与连接速度慢有关 但是什么是 连接速度慢 它的优点和缺点是什么 什么时候应该使用它 什么时候不应该使用它 根据记录 手册页 index pack https www gi
  • 固定 Div 与静态 div 的滚动条重叠

    我无法按照我想要的方式设计布局 我有一个内容区 content 您可以在示例图像中看到的灰色 里面有一个黄色元素 这个div是position static height 100 现在我有一个 left paneldiv 也 与positi
  • git 从存储中删除文件

    我有一个藏匿处 里面有一堆文件 但由于文件冲突 我无法应用我的存储 我已经在我的存储中发现了有问题的文件 我想将其删除 如何从存储中删除单个文件而不破坏整个文件 存储是一次提交 或者实际上是两次甚至有时是三次提交 并且您无法更改提交 那么
  • 如何使用 git-tfs 清理损坏的历史记录

    我不确定我是如何进入这种状态的 但我的 tfs 默认远程分支中有一些 TFS 中不存在的提交 所以我想摆脱它们 所以我的历史是这样的 A B C D tfs default 但提交 B 和 C 实际上并不是 TFS 中的变更集 因此 当我签

随机推荐

  • 从集合创建数组时如何保持数据“反应性”

    我正在整合全日历 http arshaw com fullcalendar 在我的流星应用程序中 fullCalendar 需要特定的数据格式 http arshaw com fullcalendar docs event data 我可以
  • MSCHAPv2 与 RADIUS - 加密过程到底如何进行?

    我正在构建一个 RADIUS 服务器来与 node js 中的 MS CHAPv2 配合使用 我有一个 RADIUS 客户端 它是在访问请求中向我发送以下内容的 VPN 服务器 用户名 MS CHAP 挑战 MS CHAP2 响应 我使用实
  • 神经网络中的批量归一化

    我对 ANN 还很陌生 我刚刚阅读了批量归一化论文 http arxiv org pdf 1502 03167 pdf http arxiv org pdf 1502 03167 pdf 但我不确定我是否明白他们在做什么 更重要的是 为什么
  • Python 中的 While 循环替代方案

    我正在做一个巨大的工作dataframe并尝试根据另一列中的条件创建新列 现在我有一个大while loop而且这个计算需要太多时间 有没有更简单的方法 With lambda例如 def promo dataframe a i 0 whi
  • 是否可以检查广播是否以粘性模式发送?可以中止/删除它吗?

    是否可以检查广播是否以粘性模式发送 我们可以完全中止 删除粘性广播吗 如果是的话 那么普通广播和有序广播都可以这样做吗 In onReceive 您可以使用以下调用 isInitialStickyBroadcast 这将告诉您当前正在处理的
  • django:从外键获取对象

    假设以下模型类 class Bookmark models Model owner models ForeignKey UserProfile related name bookmarkOwner parent models Foreign
  • CasperJS按类获取元素的innerHTML

    我是 CasperJS 的新手 在获取 innerHTML 时遇到一些问题 p class city Data I Need p 我尝试了一些东西 但似乎什么也没有得到 var city name casper evaluate class
  • Python AES 加密,无需额外模块

    是否可以在不安装额外模块的情况下使用 AES 加密 解密数据 我需要从以下位置发送 接收数据C 它是用System Security Cryptography参考 UPDATE我尝试过使用 PyAES 但它太旧了 我更新了一些东西以使其发挥
  • 如果已经选择了第一个,则从第二个选择中删除选项

    我正在尝试制作一个体育博彩页面 用户需要选择哪两支球队进行比赛 所以 我有两个selects 我需要删除一个option从第二个select 因为一个团队不能自己比赛 以下是精选内容
  • 函数的返回值存储在哪里

    我读过一些关于堆栈 堆以及它们在程序执行中如何使用的文章 Here http www c sharpcorner com UploadFile rmcochran csharp memory01122006130034PM csharp m
  • 文件权限;我的 www-folder 内容应该归 www-data 所有吗?

    这可能是一个菜鸟问题 但在任何地方都找不到答案 我有一个问题 另一个文件权限问题 https stackoverflow com questions 3483832 another file permissions problem已经帮助我
  • 用 Python 解析化学公式

    我正在尝试解决这个问题 https leetcode com articles number of atoms approach 1 recursion accepted https leetcode com articles number
  • python str.index 时间复杂度

    为了找到字符串中子字符串的位置 需要一个简单的算法O n 2 时间 然而 使用一些有效的算法 例如KMP算法 https en wikipedia org wiki Knuth E2 80 93Morris E2 80 93Pratt al
  • 在Python中组合多个音频文件(带延迟)

    我希望在 Python 中组合一系列不同的音频文件 mp3 要求之一是我需要能够在每个文件的末尾指定延迟 为了说明这一点 例如 文件1 mp3 3秒 延迟 2秒 文件2 mp3 mp3 3秒 延迟 2秒 mp3 4秒 延迟 2秒 file3
  • 窃取焦点,因为 SetForegroundWindow 无法做到这一点

    我知道这听起来很邪恶 但我的意图根本不是这个 用户单击 延迟拍摄 并开始倒计时 在此期间他们会聚焦另一个应用程序 然后倒计时后用户希望我的应用程序重新获得焦点 SetForegroundWindow当它从 PID X 的应用程序运行而 PI
  • 未找到类 ZMQContext

    我在 Ubuntu 14 04 的虚拟机内的 nginx 1 4 6 和 php 5 5 上运行 Web 服务器 并且需要安装 ZeroMQ 扩展 我已按照以下说明进行操作ZMQ http zeromq org area download
  • RIP寄存器不改变

    为什么当我继续使用c和内联汇编打印堆栈和指令指针寄存器时它们不会改变 因为逻辑上其他程序同时运行 所以它们应该在打印时不断改变 操作系统和 CPU 一起工作 为进程 同时运行 提供 CPU 切片 实际上 他们通过分配时间片来虚拟化 CPU
  • 如何在多行中编写 f 字符串而不引入意外的空格? [复制]

    这个问题在这里已经有答案了 考虑以下代码片段 name1 Nadya name2 Jim def print string string f name1 n name2 print string print string 产生 Nadya
  • Monodevelop - 仅使用 sudo 运行

    我已经在我的 Debian amd64 jessie 构建上安装了 Mono 和 Monodevelop 并且我只能使用提升的权限运行 monodevelop 从 UI startesque 菜单启动 monodevelop 似乎什么也没发
  • 带有位置参数的 Git 别名

    基本上我正在尝试别名 git files 9fa3 执行命令 git diff name status 9fa3 9fa3 但 git 似乎没有将位置参数传递给别名命令 我努力了 alias files git diff name stat