是否有办法(从命令行)列出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
答案 0 :(得分:25)
通常,您可以列出使用git diff --name-only
的任意两次提交之间更改的文件:
How to list the file names only that changed between two commits?
(根据澄清编辑。)
这里的问题似乎是确定合并基础'。如果所有分支都来自master,那么你可以这样做:
git --no-pager diff --name-only FETCH_HEAD $(git merge-base FETCH_HEAD master)
这将显示FETCH_HEAD
从master
分支到当前FETCH_HEAD
的点之间的变化。我在本地进行了测试,公关分支从master
开始,我相信它应该有用。
答案 1 :(得分:1)
谷歌搜索发送给我这里虽然问题略有不同。
这个问题[详情]有命令行。 但是,我需要文件列表,如果我能在GUI中看到它就可以了。
这是一种查看GUI中文件列表的方法:
打开拉取请求
单击[已更改文件]选项卡
会话0提交3 [文件已更改] 8
点击[文件已更改]
的以下行中的'n个文件'后面的下拉列表所有提交的更改v ... [8个文件v] ... +638 -266
(点击v,下拉,上面一行中的文件后)
答案 2 :(得分:1)
我无法找到一种方法来仅查看GitHub中已更改文件的列表(即没有diff和注释),但是可以使用浏览器控制台中的这种单一代码来完成:
Array.from(document.getElementsByClassName('js-details-target')).forEach((e) => {e.click();})
这将折叠所有diff块,仅保留文件名。
答案 3 :(得分:1)
这是简单的方法:
6。在Azure DevOps中创建访问令牌并将其用于身份验证 7.提供对令牌的代码和令牌管理访问权限
答案 4 :(得分:1)
对于GitHub,this can be accomplished using the REST API:
function _sortList({ sortBy, sortDirection }: SortInfo) {
为此,您可以使用GitHub libraries之一。
答案 5 :(得分:0)
Chrome控制台...
注意:如果Github更改页面中的标签/类/ ID,则会中断此操作。
strcpy
答案 6 :(得分:0)
使用 GitHub cli (gh) 你可以运行:
gh pr view 2615 --json files --jq '.files.[].path'
我制作了一个 gh alias
,因为我经常使用它:
gh alias set pr_files "pr view $1 --json files --jq '.files.[].path'"
然后我用 gh pr_files 2615
或 gh pr_files 2615 | cat
gh pr_files 2615 | cat