(コマンドラインから)Git/GitHubのPRで変更されたすべてのファイルの名前を一覧表示する方法はありますか?これは、そのPRのTravis CIビルドで実行する必要があるテストを見つけるために使用されます。
CIビルドは、スクリプトを呼び出す前に次のコマンドを実行します。
git clone --depth=50 git://github.com/jekyll/jekyll.git jekyll/jekyll
cd jekyll/jekyll
git fetch Origin +refs/pull/2615/merge
git checkout -qf FETCH_HEAD
一般に、2つのコミット間で変更されたファイルを_git diff --name-only
_で一覧表示できます。
2つのコミット間で変更されたファイル名のみをリストする方法は?
ここでの問題は、「マージベース」を決定しているようです。すべてのブランチがmasterで始まる場合、次のようにすることができます。
git --no-pager diff --name-only FETCH_HEAD $(git merge-base FETCH_HEAD master)
これにより、_FETCH_HEAD
_がmaster
から現在の_FETCH_HEAD
_に分岐されたポイント間の変更が表示されます。私はこれをローカルでテストし、PRブランチはmaster
から切り取られました。
GitHubで変更されたファイルのリストだけを表示する方法(つまり、diffとコメントなし)を見つける方法は見つかりませんでしたが、ブラウザコンソールの次の1行で実行できます。
Array.from(document.getElementsByClassName('js-details-target')).forEach((e) => {e.click();})
これにより、すべてのdiffブロックが縮小され、ファイル名のみが残ります。
Chromeコンソール...
注:Githubがページ内のタグ/クラス/ IDを変更すると、これは機能しなくなります。
const fileElems = document.querySelectorAll('#files div.file-info a.link-gray-dark');
const filePaths = [];
for (let a of fileElems) {
filePaths.Push(a.title);
}
const filePathsStr = filePaths.join('\n');
console.log(filePathsStr);
copy(filePathsStr);
console.log('Copied to the clipboard as well ????');
少し違う質問ですが、Google検索でここに送られました。
この質問[詳細]にはコマンドラインがあります。ただし、ファイルのリストが必要でした。GUIで確認できれば問題ありません。
GUIでファイルのリストを表示する方法:
プルリクエストを開く
[変更されたファイル]タブをクリックします
会話0コミット3 [変更されたファイル] 8
[変更されたファイル]の下の行の「n個のファイル」の後にあるドロップダウンをクリックします
すべてのコミットからの変更v ... [8ファイルv] ... +638 −266
(上の行のファイルの後にあるvをクリックして、ドロップダウンします)