[解決済み] Git プレコミットフック:変更・追加されたファイル
2023-06-12 20:16:09
質問
pre-commit フックを書いています。私は
php -l
を実行したいです。しかし、私は行き詰っています。
ステージングされた新規/変更ファイルのリストを取得する必要があります。削除されたファイルは除外する必要があります。
私は
git diff
と
git ls-files
といった具合ですが、ここで手を貸してほしいのです。
どのように解決するのですか?
git diff --cached --name-status
を使うと、ステージングされたものの概要が表示されるので、削除されたファイルを簡単に除外することができる、など。
M wt-status.c
D wt-status.h
これは、ステージングエリア(index)において、wt-status.cが変更され、wt-status.hが削除されたことを示します。そこで、削除されていないファイルだけをチェックするために
steve@arise:~/src/git <master>$ git diff --cached --name-status | awk '$1 != "D" { print $2 }'
wt-status.c
wt-status.h
ただし、空白を含むファイル名を扱うには、特別な手順を踏まなければなりません (git diff の -z オプションと、より興味深い解析があります)。
関連
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] Gitで変更された複数のファイルのうち、1つのファイルだけを隠す?
-
[解決済み] コミットに含まれるすべてのファイルを一覧表示するにはどうすればよいですか?
-
[解決済み] Git でファイルの一部分のみをコミットする
-
[解決済み] Git のコミットからファイルを削除する
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み] Git で最新のコミットを新しいブランチに移動する
-
[解決済み】Gitでコミットをチェリーピックするというのはどういう意味ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[git push] 解決策: ! [リモート拒否] master -> master (受信前のフックは拒否されました)
-
git commit to GitHub エラー、プロンプト ! [リモート拒否] master -> master (pre-receive hook declined) エラー: 失敗しました。
-
undefinedmaster -> master (non-fast-forward) と git ! [拒否] master -> master (フェッチファースト)
-
undefinedGit Git がファイルをコードクラウドにプッシュする際に報告されるエラーを解決します: ! [拒否] master -> master (最初にフェッチ)
-
git pushで "Updates were rejected because your current branch is behind "というエラーが報告される。
-
なぜこのマージが必要なのかを説明するコミットメッセージを git に入力してください。
-
gitlabの紹介と使い方
-
[解決済み] JenkinsのGitプラグイン。特定のタグをビルドするには?
-
[解決済み] シングルブランチクローンを「元に戻す」方法は?
-
[解決済み] チェリーピックのコンフリクトを解決するにはどうしたらいいですか?