我有一个git存储库,它包含一个项目。 在某个时间点(2013年5月至2013年9月),有人手动复制了repo中的文件而没有修订控制,并对其进行了更改。 与此同时,我的回购已经发生了很多变化。 现在我想看看手动复制文件的其他人所做的更改。他没有合并我的更改,因为他复制了文件,所以我不能将他和我的仓库中的文件分散到当前状态。
那么我怎样才能找到我的存储库与最接近的更改文件匹配的提交并在那时将其区分开来?
编辑:我的问题类似于this question,但我只知道时间范围。
答案 0 :(得分:0)
获取其他人的代码:
git remote add other url-to-other-persons-repo
git fetch other
获取diff
:
git diff other/master
答案 1 :(得分:0)
解决方案:正如Matthew Strawbridge suggested,其他问题的解决方案也适用于此。这是我做的:
#!/bin/sh
for REV in $(git rev-list foreign/master --after=2013-05-01 --until=2013-09-01); do
git diff --shortstat $REV >> ~/rdiffs.txt;
echo "$REV" >> ~/rdiffs.txt;
done
然后我在Excel中写了一个vba makro来对结果进行排序:
Sub sort()
Dim Zeile, Nzeile As Integer
For Zeile = 2 To ActiveSheet.UsedRange.Rows.Count Step 2
Rows(Zeile).Cells(1).Select
Selection.Cut
Nzeile = Zeile - 1
Rows(Nzeile).Cells(2).Select
ActiveSheet.Paste
Next
For Zeile = 2 To ActiveSheet.UsedRange.Rows.Count Step 1
Rows(Zeile).EntireRow.Delete
Next
End Sub