我正在使用git
. 的要求之一git repository
是bare = true
. 它使用接收后挂钩来管理来自本地计算机的推送。问题是有时我想使用 wp-admin 在线视图更改我网站上的 WordPress 目录。那么我就ssh
进入目录并运行git --work-tree="BLAH" add .
和git --work-tree="BLAH" commit -m "BLAH"
. 有没有办法设置一个别名,就像alias git="git --work-tree=\"BLAH\""
它适用于所有git
命令?
问问题
1145 次
3 回答
2
有时alias
是一个很棒的工具。然后有时事情开始变得过于复杂,而 shell 脚本更好。
要创建执行其他命令的单个命令,只需创建一个文件(可能称为它git-add-all
),然后键入以下内容:
#! /bin/bash
git --work-tree="BLAH" add .
git --work-tree="BLAH" commit -m "BLAH"
然后,您只需执行以下操作即可运行脚本:
bash git-add-all
更好的是,使脚本可执行:
chmod +x git-add-all
然后你可以像使用任何命令一样使用它:
./git-add-all
进阶提示:
为了能够从任何 git 目录运行脚本,您可以将文件复制/移动到$PATH
. 例如/usr/loca/bin
. 然后你可以简单地运行git-add-all
而不是./git-add-all
.
更好的是创建您自己的个人脚本目录并将其包含在$PATH
. 我个人使用~/bin
. 要将目录添加到$PATH
您只需将以下内容添加到.bashrc
or .profile
:
export PATH=/home/username/bin:$PATH
或者,如果您正在为 root 用户执行此操作:
export PATH=/root/bin:$PATH
于 2016-10-07T03:16:16.550 回答
1
如果有人好奇我是如何解决它的(感谢shellter 的评论),我编写了一个 bash 脚本,然后提示用户输入如下:
#!/bin/bash
function fix {
git --work-tree="PATH_TO_WORKING_TREE" $1
}
echo -n "git "
read -e INPUT
until [ "$INPUT" = "quit" ]; do
fix $INPUT
echo -n "git "
read -e INPUT
done
运行它:
user@server [repo.git] $ git-fix
git status
# On branch master
nothing to commit (working directory clean)
git quit
于 2016-10-07T04:00:15.410 回答
0
里面有一个.bashrc
文件Linux
。您可以编辑它以创建alias
您最喜欢和常用的命令。
要创建别名,请将别名永久添加到您的 .bashrc 文件中
gedit ~/.bashrc
别名应如下所示:
alias al='cmd'
你可以在这里阅读更多关于它的信息。
于 2016-10-07T03:03:23.280 回答