我想做一些与这个问题基本相似的事情:
Merge an untracked directory into the tracked directory
然而,答案对我的情况并没有特别的帮助。
基本上,一位同事将他的代码版本作为zip文件发送给我。他的版本应该远远超过我的版本,但我不能只使用他的版本,因为我的版本中有一些我不相信的错误修复。我想要做的是创建一个补丁,其中只包含我对代码的贡献,并尝试用我的更改修补他的(未跟踪的)版本。
在我开始处理新分支中的代码,将其文件复制到该repo并将其作为新分支提交,然后将该分支与我的分支合并之前,这与检查修订是否相同?如果是这样,我将如何找到我在相关目录中进行的第一次提交?
答案 0 :(得分:2)
您可以使用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
答案 1 :(得分:1)
在我开始处理新分支中的代码,将其文件复制到该分区并将其作为新分支提交,然后将该分支与我的分支合并之前,这与检查修订是否相同?
是的,它应该是相同的,还有额外的好处,以保持所有内容相同的参考。
我将如何找到我在相关目录中进行的第一次提交?
git bisect
会有用,以便找到第一个“错误”提交(即您的目录存在的提交)。