일부 소스 코드 (S)를 공유하는 두 개의 긴밀한 프로젝트 (A와 B)가 있습니다. 둘 다 동시에 릴리스되며 출시 된 버전은 항상 동일한 버전의 공유 코드를 사용해야합니다. 공유 코드 S는 합리적으로 자주 변경됩니다.git에서 두 프로젝트 간 코드 공유
그래서,이 같은 언젠가 볼 것이다 :
는- 버전 1은 B 버전 1 버전 2는 S 버전을 사용하는 S 버전 1
- 사용 1
- S 버전을 사용하는 2
- B 버전 2는 S 버전 2를 사용합니다.
git (및/또는 git을 사용하는 일부 도구)에서 이것을 처리하는 가장 좋은 방법은 무엇입니까? 여기
내 관심사 :- 프로젝트 A와 프로젝트 B는 별도의 저장소에 있어야합니다 (그들은 관련이 있습니다,하지만 난 그들 사이의 코드의 자유로운 흐름 싶지 않아)
- 하는 경우를 한 프로젝트에서 업데이트 된 공유 코드는 다른 코드에서 자동으로 업데이트되어야합니다 (개발자가 무언가를하는 것을 잊었을 때 상황을 원하지 않고 구 버전의 공유 코드를 갖게됩니다).
정식 답변 중 하나가 "git submodule 사용"이라는 것을 알고 있습니다. 그러나, 나는이 접근법에 대해 다소 criticism을 읽었다. 좀처럼 바뀌지 않는 공유 라이브러리에 맞게 설계된 것 같았습니다. 내가
git subtree을 사용하고 있었다 읽고 덜 대중적인 접근 방식의 부부가
은 무엇 코드 공유의이 유형을 처리하는 가장 좋은 방법이 될 것입니다?
링크가 좋은 것은 아니지만 서브 트리를 고정했지만 다른 것들을 추측 할 수는 없습니다. (자식 서브 모듈과 비판을 사용하십시오) – CharlesB
고마워요. 나는 하나를 제외한 모든 링크를 고쳤다. 만약 내가 그것을 삽입, 어떤 이유로 그것은 잘못된 링크에 연결되어있어. –
직접 코드 다운 코드 – CharlesB