git subtree split
에서 새로 생성 된 저장소는 에 지정된 디렉터리에서 변경 한 커밋 만 포함합니다.
원래 자식의 repo 파일 아래 구조를 가정 :
Root
|___ file1
|___ file2
|___ subfolder/
|___ file3
|___ file4
그리고 원래 커밋 역사 등을 :
다음
* 8cb09fb (HEAD -> master) Merge branch 'dev' into matser
|\
| * e1e054c (dev) change file2 for fourth time merge
* | 6e8ee57 change file3 for fourth time merge
* | ebdfb0b Merge branch 'dev' into master
|\ \
| |/
| * 5d93766 change file2 for thrid time merge
* | b95668a change file1 for thrid time merge
* | 09ca222 Merge branch 'dev' into matser
|\ \
| |/
| * d3dc890 change file3 for second time merge
* | 5818123 change file1 for second time merge
* | cb39f04 Merge branch 'dev' into master
|\ \
| |/
| * 4dc4aaa change file3 and file4 on dev branch
* | fef775c change file3 and file4 on master branch
|/
* d8d81e6 add subfolder and it’s files
* 5446ea3 change file1
새 자식의 repo에 subfolder
을 분할 git subtree split
를 사용하는 경우, subfolder
(file3
및 file4
)을 변경 한 커밋 만 새로운 레포 커밋 기록에 표시됩니다. 아래와 같이 새로운 REPO 커밋의 역사 : 첫번째 5446ea
커밋, 그것은 단지 (subfolder
디렉토리에서) file1
을 변경 한 내용은
끌어 오기 요청의 본질은 저장소 내의 해시 ID입니다. 해시 ID 및 기존 저장소는 어떻게됩니까? 그러면 풀 요청에 대한 응답이 표시됩니다. – torek
끌어 오기 요청은 아무것도 아닌 지점입니다. 'fetch = + refs/pull/*/head : refs/remotes/origin/pr/*'와 같은 라인을 추가 할 수도 있습니다. 끌어 오기 요청을 병합하려는 것은 일반적인 충돌 해결 방법으로 분기를 병합하는 것과 같습니다. – o11c