Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git只为我的更改创建补丁_Git - Fatal编程技术网

git只为我的更改创建补丁

git只为我的更改创建补丁,git,Git,我想做一些与这个问题基本相似的事情: 然而,那里的答案对我的情况并没有特别的帮助 基本上,一位同事将他的代码版本作为zip文件发送给我。他的版本应该比我的版本早很多,但我不能只使用他的版本,因为我的版本中有一些错误修复,我不相信他的版本中有。我想做的是创建一个补丁,其中只包含我对代码的贡献,并尝试用我的更改修补他的(未跟踪的)版本 这和我开始在一个新分支中处理代码之前检查修订版,将他的文件复制到该repo中,并将其作为一个新分支提交,然后将该分支与我的分支合并是一样的吗?如果是这样,我将如何查

我想做一些与这个问题基本相似的事情:

然而,那里的答案对我的情况并没有特别的帮助

基本上,一位同事将他的代码版本作为zip文件发送给我。他的版本应该比我的版本早很多,但我不能只使用他的版本,因为我的版本中有一些错误修复,我不相信他的版本中有。我想做的是创建一个补丁,其中只包含我对代码的贡献,并尝试用我的更改修补他的(未跟踪的)版本

这和我开始在一个新分支中处理代码之前检查修订版,将他的文件复制到该repo中,并将其作为一个新分支提交,然后将该分支与我的分支合并是一样的吗?如果是这样,我将如何查找我在相关目录中进行的第一次提交

这和我开始在一个新分支中处理代码之前检查修订版,将他的文件复制到该repo中,并将其作为一个新分支提交,然后将该分支与我的分支合并是一样的吗

是的,它应该是相同的,还有一个额外的好处就是将所有内容保持在相同的引用中

我将如何查找我在相关目录中所做的第一次提交


对于查找第一个“错误”提交(即目录所在的提交)非常有用。

您可以使用
git log
显示影响特定路径的所有提交:

git log -- path/to/interesting/dir
由于您只对自己的提交感兴趣,因此还需要
--author
选项:

git log --author=mgilson -- path/to/interesting/dir
目录中的第一个提交是列表中的最后一个提交,您可以通过组合使用
--oneline
选项和
tail

git log --author=mgilson --oneline -- path/to/interesting/dir | tail -n1

目录在这两种情况下都存在--我想知道我第一次提交到该目录的时间。-看起来我应该能够grep git log或其他什么…这是目录中的第一次提交--我想要在该目录中进行的第一次提交。类似于
git log--oneline--path/to/dir | grep mgilson | tail-1
(但这不起作用,因为提交的作者不在--oneline的输出中)@mgilson:从您的问题中不清楚存储库中是否有来自其他用户的提交。我已经更新了我的答案,还提供了作者筛选。谢谢,这将满足我的需要。