私は自分のアプリのアップデータをまとめてハッキングしているので、コーディングスキルの少ない人も自分のマシンにアプリをインストールし、実行し、アップデートすることができます。ここで私のレポに何か変更があるかどうかを知るために、この磁器のGitコマンドを使用しないでください。
は、Windowsのコマンドプロンプトのために書かれ、アップデータの一例である:
@echo off
for /f %%i in ('call git status --porcelain') do set stash=%%i
if not [%stash%] == [] (
echo Stashing local changes...
call git add .
call git stash -q
)
echo Updating App...
call git pull origin master
if not [%stash%] == [] (
echo Restoring local changes...
call git stash apply -q
)
echo Updating Dependencies...
call npm update
echo Done
pause
あなたが見ることができるように、私はアプリを隠しする必要があるローカルな変更があるかどうかを伝えるためにgit status --porcelain
を呼んでいますリモートマスターブランチをプルする前に
このコマンドは、追跡またはそうでない場合は、作業ディレクトリがクリーンである場合何もを返しませんが、ローカルの変更がある場合は、必ず何かを返します。
私はgitで配管作業を行うために磁器のコマンドを使用するのは悪いことを他のSOの投稿から読んだことがありますが、この場合はうまく働いていますが、なぜgit status --porcelain
コマンド清潔な作業ディレクトリがある場合何かを返します。
私の質問は次のとおりです。この特定の用途に磁器を使用するのは間違っていますか?もしそうなら、なぜですか?
ボーナス:これについてはどうすればよいでしょうか?
。私は、なぜ、彼らがこのより配管方位の高いシナリオで使用されることになっていたときに、なぜスイッチが ' - porcelain'を作ったのか、まだ混乱しています。 – Bango
@Bango、多くのgitコマンドには、このスイッチが使用されているときに安定した出力を提供するために '--porcelain'スイッチがあります。 – Opal