相关疑难解决方法(0)

如何仅列出两次提交之间更改的文件名?

我在回购中有一堆提交.我想看到两个提交之间更改的文件列表 - 从SHA1到SHA2.

我应该使用什么命令?

git git-diff git-show

1807
推荐指数
11
解决办法
65万
查看次数

如何查看Git提交中的更改?

当我这样做时,git diff COMMIT我看到了提交和HEAD之间的变化(据我所知),但我希望看到单个提交所做的更改.

我没有在diff/log上找到任何明显的选项,它会给我输出.

git version-control diff git-diff

1364
推荐指数
21
解决办法
91万
查看次数

Git中的"瓷器"一词是什么意思?

Git文档中偶尔出现"瓷器"一词.这是什么意思?

git terminology

399
推荐指数
7
解决办法
7万
查看次数

获取已在git分支中修改的所有文件

有没有办法看到分支中的文件发生了什么变化?

git branch

179
推荐指数
9
解决办法
10万
查看次数

git merge:删除我要保留的文件!

如何在git中合并两个分支,从分支中保留必要的文件?

合并两个分支时,如果文件在一个分支中删除而在另一个分支中没有删除,则最终删除该文件.

例如:

  • 创建新分支时,master中存在一个文件
  • 你从master中删除文件,因为我们不需要它(还)
  • 您在分支中进行更改以添加依赖于现有文件的功能
  • 你在master中修复bug(不能丢弃)
  • 你有一天合并,文件消失了!

如何再现:

  1. 用一个文件创建一个git repo.

    git init
    echo "test" > test.txt
    git add .
    git commit -m "initial commit"
    
    Run Code Online (Sandbox Code Playgroud)
  2. 创建一个分支

    git branch branchA
    
    Run Code Online (Sandbox Code Playgroud)
  3. 删除master中的文件

    git rm test.txt
    git commit -m "removed file from master"
    
    Run Code Online (Sandbox Code Playgroud)
  4. 在branchA中进行任何不接触已删除文件的更改(必须保持不变以避免冲突)

    git checkout branchA
    touch something.txt
    git add .
    git commit -m "some branch changes"
    
    Run Code Online (Sandbox Code Playgroud)

从这里,我发现合并这两个分支的任何方式都删除了test.txt文件.假设我们依靠文件branchA,这是一个很大的问题.


失败的例子:

合并1

git checkout branchA
git merge master
ls test.txt
Run Code Online (Sandbox Code Playgroud)

合并2

git checkout master
git merge …
Run Code Online (Sandbox Code Playgroud)

git merge branch

56
推荐指数
4
解决办法
4万
查看次数

'git diff':仅显示两个提交中存在的文件的差异

有没有办法用于git diff在两次提交之间获取差异,但只显示两次提交中存在的文件的差异?

我有一个我几周前创建的分支,而且我们的主要代码现在已经差不多了.结果,如果我在当前的HEAD和旧分支的尖端之间做差异,我会得到几十个已更改的文件,但它主要只是噪音.

我真的想看到一个diff,它只显示两个分支中存在的文件.我知道这样做的一种方法是在当前的HEAD之上挑选其他分支的提交,但有没有办法只使用它git diff

git

19
推荐指数
1
解决办法
5013
查看次数

如何使用JGit获取提交的文件列表

我一直在研究基于Java的产品,Git功能将被集成到该产品中.使用Git功能之一,我已经通过staging将10多个文件添加到Git存储库中,然后在单个提交中提交它们.

上述过程的反向可能吗?即找到作为提交的一部分提交的文件列表.

我在git.log()命令的帮助下得到了提交,但我不知道如何获取提交的文件列表.

示例代码:

Git git = (...);
Iterable<RevCommit> logs = git.log().call();
for(RevCommit commit : logs) {
    String commitID = commit.getName();
    if(commitID != null && !commitID.isEmpty()) {
    TableItem item = new TableItem(table, SWT.None);
    item.setText(commitID);
    // Here I want to get the file list for the commit object
}
}
Run Code Online (Sandbox Code Playgroud)

java jgit

11
推荐指数
1
解决办法
5802
查看次数

如何通过提交的SHA获取文件和内容

如何列出在特定提交中更改的文件,并在我有sha个提交时获取该文件的内容?

git

9
推荐指数
1
解决办法
4939
查看次数

哪个 Jenkins 命令获取已更改文件的列表

在 Jenkins 构建中,我看到了已更改文件的列表:

在此处输入图片说明

那么 Jenkins 使用哪个命令来获取此列表(我使用 git 进行存储库版本控制)。

git jenkins jenkins-cli

9
推荐指数
2
解决办法
2万
查看次数

Git pre-commit hook:获取已更改文件的列表

我正在开发验证和linting实用程序,以与各种提交钩子集成,包括Git one

https://github.com/miohtama/vvv

目前,验证器和连接器在每次提交时都针对整个项目代码库运行.但是,仅针对更改的文件运行它们会更加优化.为此,我需要知道我的Git precommit钩子中的已更改文件列表(在Python中)

https://github.com/miohtama/vvv/blob/master/vvv/hooks/git.py

我有什么选择来提取已更改的文件列表(如果重要的话,在Python中)?

python git pre-commit pre-commit-hook

7
推荐指数
1
解决办法
7482
查看次数