如何使用某些 GitHub 命令了解所有 git 更改。?

问题描述 投票:0回答:1

我正在使用

git status --porcelain -uall

它给出这样的结果:

?? FOLDER1/FOLDERCHILD/ETC/FILE1.cs

从此,我想删除

??
并保留其余部分,但如果我进行一些提交,那么我的 Git 更改将为 0 并且此查询将不起作用。

如何检索已在我的分支中提交的所有文件名/路径?

我试过了

git diff --name-only main...

这看起来是一个不错的选择,但它仅返回已提交的文件名(与上述问题相反)。

我不想使用 GitHub API,只想使用 Git 命令。

我想知道是否有任何命令可以给我所有的 Git 更改:

  • 我在分支中提交的文件路径/名称
  • 我尚未提交且存在于取消暂存和暂存区域中的文件路径/名称

我想要与打开拉取请求时得到的结果类似的结果。

git pull-request
1个回答
0
投票

一个简单的方法是简单地使用

sed
删除前导部分。

以下命令为您提供文件列表(没有任何进一步的详细信息):

git status --porcelain=v1 | sed -E 's/^.{2} //'

结果:

sources/data/f1.c
sources/data/f2.c
sources/data/f3.c

更多详细信息:这里,

sed
命令用于替换特定模式(在本例中为正则表达式
^.{2} 
,它匹配“行开头的前两个字符带有空格”)。

© www.soinside.com 2019 - 2024. All rights reserved.