
filename
하위 디렉토리의 git 저장소에 다음 dir1
과 같은 기록을 가진 파일이 있다고 가정해 보겠습니다 .
v7 --- v8 --- v9 --- v10
파일은 다양한 하위 디렉터리가 있는 대규모 저장소의 일부이지만 위의 변경 집합만 이 파일에 영향을 미칩니다. 이제 filename
실수로 다른 하위 디렉토리에 커밋된 해당 파일의 이전 버전도 찾아냈습니다 dir2
. 이 이전 버전은 하나의 변경 세트에만 "존재"합니다.
v4
이제 문제는 이 두 파일의 기록을 git에 다시 작성하여 마치 filename
존재했던 것처럼 보이도록 할 수 있는지입니다 dir1
. 결과적으로 다음과 같은 기록이 생성됩니다.
v4 --- v7 --- v8 --- v9 --- v10
dir2
에서 파일을 제거 하고 에서 파일의 새 버전으로 커밋해 볼 수 있을 것 같습니다 dir1
. 하지만 이렇게 하면 파일의 실제 기록이 엉망이 되어 실제로 가장 오래된 버전의 파일이 최신 버전으로 표시됩니다.
나는 git 리포지토리의 기록을 "조정"한 경험이 거의 없기 때문에 어떻게 해야 할지 모르지만 리베이스가 답이 될 수 있다고 생각합니다. 나는 저장소에서 작업하는 유일한 사람이므로 유일한 관심사는 두 컴퓨터에서 이러한 변경 사항을 동기화하는 것입니다.
제가 하고 싶은 것은 파일을 원래 dir2
기록에 있는 곳에 두는 것이지만 v4
위에서 호출한 커밋을 변경하여 파일을 dir1
.