问题标签 [git-alias]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
109 浏览

git - 如何正确使用 git 别名中的参数?

我的 .gitconfig 文件中有以下 git 别名。

我应该按如下方式使用它:

(假设 folder1 是有效的工作 git 存储库,可通过其相对路径访问)

当我在命令行中输入时,

我确实在 folder2 中获得了 folder1 的克隆,但是当我使用别名时:

我收到一个错误

谁能告诉我我错过了什么?

0 投票
1 回答
109 浏览

git - 如何在 git 中为同一命令设置多个寻呼机选项?

我希望能够根据需要使用两个不同的寻呼机启动 git diff。

我知道的唯一方法是更新 git config 并启动命令(或更新GIT_PAGER变量)。

.gitconfig 示例:

这将让我使用 cat pager 作为默认启动git diff并按需启动git diff1并使用更少的pager。

我的问题是:有没有其他方法可以做到这一点,而无需每次都更改 git config?

就像是:

0 投票
1 回答
179 浏览

bash - 如何将参数从 git 别名传递到外部脚本

我在将参数从 git 别名传递到外部 bash 脚本文件时遇到问题。目前,我的 bash 脚本文件与 .gitconfig 位于同一目录中。我计划将我所有的复杂 !f() { }别名移到那里,以避免与所有转义和不评论作斗争。

所以我的脚本文件名为 .gitconfig.kat.aliases.script ,它看起来像这样:

配置1

在我的 .gitconfig [alias] 部分中,我有这个:

我按照这个问题的语法对外部脚本/函数进行了别名。然后,我按照这个问题的语法将参数传递给函数(上面的别名没有像建议的问题那样传递虚拟参数,下面有更多信息)。

问题是,没有虚拟参数,当我执行时git co-rb origin feature/test,我得到以下输出:

配置2

如果我在 $@... 之后定义一个虚拟参数

co-rb = !bash -c 'source $HOME/.gitconfig.kat.aliases.script && checkoutRemoteBranch \"$@\" x'

输出是:

配置3

如果我将虚拟参数的位置更改为co-rb = !bash -c 'source $HOME/.gitconfig.kat.aliases.script && checkoutRemoteBranch x \"$@\"'

输出是:

问题: 1. 配置1 - 参数计数错误,位置参数偏移-1。1.配置2——参数计数是对的,但是位置参数偏移了-1。1.配置3——参数计数是对的,但是参数都乱了。 x在中间注入,并且位置对于 1 美元不正确。

我应该如何设置我的 git 别名,以便参数计数正确并且位置 1..N 是我所期望的?或者我应该更改我的 shell 脚本,以便在我检查参数计数时,我检查'count-1'?

0 投票
2 回答
312 浏览

bash - 创建一个包含 bash 命令替换和参数的 git 别名

明白啦:

git diff $(git status -s | awk 'FNR == $LINE_NUM {print $2}')

...其中行号是按状态输出的文件。

现在我想为这个命令创建一个别名.gitconfig

我希望这个别名根据我将在命令行中输入的行号参数运行 git 的 diff 命令。我是 bash 新手,我不确定是否需要一个 bash 函数来处理这个问题,或者如何将参数传递给替换的命令。

0 投票
1 回答
745 浏览

git - 如何修复:找不到命令-Git Alias

我正在尝试设置一个 git 别名以列出所有使用此命令标记为“假定未更改”的文件:

当我直接在 powershell 中使用此命令时,它按预期工作,但作为别名我得到错误:

在我的 .gitconfig 文件中,我有

我尝试了不同的变体......用'!' 感叹号和不带,
用双/单引号括起来和不带。

如果我删除末端部分,它会按预期工作,例如

所以我认为命令后半部分的语法有问题?

任何帮助,将不胜感激...

0 投票
1 回答
218 浏览

git - git submodule foreach 不能作为别名工作

我曾经使用过类似的命令

或者对于可能失败的命令

所以现在我为第一个表单创建了一个别名,它工作正常

然后我也尝试为第二种形式做它,它根本不起作用

请注意,我仍然可以像第一个一样使用它

但这在使用别名时看起来像是不必要的输入。

它在上面的示例中使用 'git all' 给出的错误是 error: pathspec 'develop || true' 与 git 已知的任何文件都不匹配

而在“子模块”中,它会输出错误,但会继续到下一个子模块。

关于如何修复第二个版本的任何指针?

干杯。

0 投票
2 回答
1110 浏览

git-config - 是否可以在 .gitconfig 中编写多行别名?

我知道可以使用&&(and) 语句为同一个别名运行多个命令。然而,对于长组合,它会失去可读性。举个例子:

save = !git status && git add -A && git commit -m \"$1\" && git push --force && git log && :

我想知道是否有一种多行方式来编写它? 例如,也许拥抱它{}

0 投票
1 回答
244 浏览

git - 具有多个命令的 Git 别名

审查后,我需要更改一些代码并将我的所有更改代码重新推送到远程分支上。

所以我想用别名(例如:)在 git 上自动化git repushall这些不同的命令:

git add . git commit --amend(和 ctrl + x) git push --force-with-lease

我知道它在.gitconfig文件中

你有什么主意吗 ?

0 投票
2 回答
213 浏览

git - Git commit --amend 别名挂起

我在我的有这个别名~/.gitconfig

然而,当我运行时git am,它挂起,我得到(master|AM/REBASE)提示,我必须运行git am --abort

0 投票
1 回答
256 浏览

git - 同时为 `git push -u origin $BRANCH_NAME` 和 `git push` 设置一个更快的别名

当我想在已经有上游分支的分支上推送更改时,git push我只需要。但是当没有当前的上游分支时,我必须输入git push -u $BRANCH_NAME.

我一直在创建新的分支(对于我处理的每个功能,大约每两个小时左右一个)。我有时也会打错字。它变得烦人。如何创建一个可以自动解析为git pushgit push -u $BRANCH_NAME不需要我输入分支名称的别名?