我在回购中有一堆提交.我想看到两个提交之间更改的文件列表 - 从SHA1到SHA2.
我应该使用什么命令?
当我这样做时,git diff COMMIT
我看到了提交和HEAD之间的变化(据我所知),但我希望看到单个提交所做的更改.
我没有在diff/log上找到任何明显的选项,它会给我输出.
如何在git中合并两个分支,从分支中保留必要的文件?
合并两个分支时,如果文件在一个分支中删除而在另一个分支中没有删除,则最终删除该文件.
例如:
如何再现:
用一个文件创建一个git repo.
git init
echo "test" > test.txt
git add .
git commit -m "initial commit"
Run Code Online (Sandbox Code Playgroud)创建一个分支
git branch branchA
Run Code Online (Sandbox Code Playgroud)删除master中的文件
git rm test.txt
git commit -m "removed file from master"
Run Code Online (Sandbox Code Playgroud)在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 diff
在两次提交之间获取差异,但只显示两次提交中存在的文件的差异?
我有一个我几周前创建的分支,而且我们的主要代码现在已经差不多了.结果,如果我在当前的HEAD和旧分支的尖端之间做差异,我会得到几十个已更改的文件,但它主要只是噪音.
我真的想看到一个diff,它只显示两个分支中存在的文件.我知道这样做的一种方法是在当前的HEAD之上挑选其他分支的提交,但有没有办法只使用它git diff
?
我一直在研究基于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) 我正在开发验证和linting实用程序,以与各种提交钩子集成,包括Git one
https://github.com/miohtama/vvv
目前,验证器和连接器在每次提交时都针对整个项目代码库运行.但是,仅针对更改的文件运行它们会更加优化.为此,我需要知道我的Git precommit钩子中的已更改文件列表(在Python中)
https://github.com/miohtama/vvv/blob/master/vvv/hooks/git.py
我有什么选择来提取已更改的文件列表(如果重要的话,在Python中)?
git ×9
branch ×2
git-diff ×2
diff ×1
git-show ×1
java ×1
jenkins ×1
jenkins-cli ×1
jgit ×1
merge ×1
pre-commit ×1
python ×1
terminology ×1