저는 오픈 소스 프로젝트를 Git으로 변환하려는 상황에 있으며 최근에 프로젝트의 기록 데이터에 액세스 할 수있게되었습니다. 하지만 이미 repo를 수정 했으므로 git 이 Git의 커밋 트리 시작 부분 에 커밋 할 때 이러한 초기 변경 사항을 추가하고 싶습니다 . (예, 이것이 나중에 커밋을 위해 SHA를 변경한다는 것을 알고 있습니다. 이것은 허용됩니다.) 데이터는 작업 디렉토리의 연속적인 스냅 샷으로 제공됩니다. 나중에 커밋을위한 작업 디렉토리의 상태가 영향을받지 않도록 설정하고 싶습니다 (변경 사항을 병합하고 싶지 않습니다).
예를 들어, 초기 커밋이 B
파일 a
과 b
작업 디렉토리에 A
추가 하고 내 기록 커밋이 file 추가하는 경우 파일 만 추가 a
하는 새 커밋을 B'
부모 로 만들고 싶습니다 . 모두에서 하고 , 작업 디렉토리는 같은 외모, 그리고 상단에 이후의 커밋 안전에으로 업데이트 할 수 있습니다 .A
b
B
B'
B
B'
힘내에서 이것을 할 수 있습니까? 그렇다면 어떻게?
편집 : 초기 커밋을 수정해야합니다. 의 표준 사용법은 git commit
새 커밋을 커밋의 자식으로 추가 HEAD
하므로 부모가없는 초기 커밋에는 작동하지 않습니다.
이와 같은 것이 작동합니다.
# Create a new branch with the old history
$ git checkout --orphan old-history
$ git add <old-files>
$ git commit
# Rebase master on top of the branch with old-history
$ git checkout master
$ git pull --rebase . old-history
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다