2017-06-16 16 views
4

私のgitリポジトリにあるファイル.txtが実行権限を持っていることがわかりました。私はまた、chmod a-x *.txtのレポが実際に変更を示したことに気付きました。ファイルを更新した後のgit diffの出力は次のとおりです。"git blame"ファイルアクセスコントロール修飾子

diff --git a/requirements.txt b/requirements.txt 
old mode 100755 
new mode 100644 

ファイルのパーミッションを非難する方法はありますか? (特に私は、これらのファイルにa+x権限を追加しました人を見つけるしたいと思います。

+0

'Gitのblame'は、権限の内容だけを見ていません。 [ArturFHの方法](https://stackoverflow.com/a/44598709/1256452)を使用すると、任意のテストを実行できます。 – torek

答えて

4

をあなたはおそらくgit diffコマンドを使用しているのをみましょう。コマンドをされたと仮定します。あなたは..badcommit一部を省略した場合

git diff goodcommit..badcommit requirements.txt 

badcommitHEADであると仮定します。

コマンドシーケンスを実行すると、問題のあるコミット(および原因)を簡単に見つけることができます。最後にはあなたのようなメッセージが表示されます。ただ実行し、正常に戻っ動作させるために

running test ! -x requirements.txt 
8088473809f905bd8f3d5825983e8c9fe82b10c6 is the first bad commit 
commit 8088473809f905bd8f3d5825983e8c9fe82b10c6 
Author: author 
Date: Fri Jun 16 23:05:49 2017 +0100 

    commit message 

git bisect reset 
1

Gitは唯一のファイルの内容を格納し、ビット値を実行します。See this answer for further info。それは、他のアクセス許可の変更が反映されませんので。

をあなたが使用することができます。いくつかは結果があなたの質問に示す取得する指定されたコミットして

git log --follow -p -- a/requirements.txt 

のファイルの履歴を表示する

+1

私の質問は実行ビットについて具体的に尋ねるので、あなたの答えのようなものが、私が求めていたものの痕跡に見えます。あなたの助けをありがとう! –

+0

他の許可ビットは気にしないでください。 –

+1

質問に答えた通りです。 >ファイルのアクセス権を引き出す方法はありますか? (具体的には、誰がこれらのファイルにa + xアクセス権を追加したのかを知りたいと思います。 –