を使ってWebサイトを運営していgit
ます。の要件の 1 つはgit repository
、bare = true
. post-receive フックを使用して、ローカル コンピューターからのプッシュを管理します。問題は、オンラインの wp-admin ビューを使用して、Web サイトの WordPress ディレクトリを変更したい場合があることです。そのssh
ため、ディレクトリに入って and を実行git --work-tree="BLAH" add .
しgit --work-tree="BLAH" commit -m "BLAH"
ます。alias git="git --work-tree=\"BLAH\""
すべてのgit
コマンドで機能するように、エイリアスを設定する方法はありますか?
1145 次
3 に答える
2
alias
素晴らしいツールになる時があります。次に、シェルスクリプトの方が優れているところで、物事が複雑になり始める場合があります。
他のコマンドを実行する単一のコマンドを作成するには、ファイルを作成して (おそらくそれを と呼びます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
.profile
export PATH=/home/username/bin:$PATH
または、root ユーザーに対してこれを行っている場合:
export PATH=/root/bin:$PATH
于 2016-10-07T03:16:16.550 に答える
1
誰かが私がそれをどのように解決したかに興味がある場合(シェルターのコメントに感謝します)、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 に答える