35

「 Git がファイル モード (chmod) の変更を無視するようにするにはどうすればよいですか?」 とは逆の問題があります。前者をコミットしますが、後者はコミットしません。これはgitで可能ですか?

(実際には、実行権限の変更とともにコミットしたいテキストの変更と、コミットしたくないテキストの変更を行いました)

更新:ファイルへのテキスト変更のステージングを解除し、git add -p 再度実行してテキスト変更の一部を組み込むと、モード変更がステージングに反映されました。(私のgitバージョンは1.5.4.3です)

4

3 に答える 3

81

あなたはできるはずです:

git update-index --chmod=(+|-)x <file>

インデックスに格納されている実行可能ビットを調整します。

その後、ファイルの内容に対する変更とは別に、これをコミットできます。

于 2009-10-23T06:28:33.717 に答える
15

git add -iファイルからインデックスにいくつかのハンクを選択的に追加できます。アクセス許可に敏感かどうかはわかりませんが、chmod操作後にハンクを追加すると、アクセス許可を明示的に更新しなくても、正しくインデックスに登録される可能性があります。

于 2009-10-23T03:19:44.063 に答える
3

チャールズの答え は、ファイル モードとコンテンツの変更の両方をインデックスに追加することでした。私はこのようにそれを回避しました。

git update-index --skip-worktree --chmod=+x <file>
git update-index --no-skip-worktree <file>

あるいは、あなたがすることができます

git update-index --chmod=+x <file>
git config interactive.singlekey 1
echo na | git reset -p
于 2014-01-01T07:22:24.727 に答える