Git repo에서 Git repo를 사용하려는 경우 Git submodules을 고려해야합니다. Git 서브 모듈은 별도의 Git repo를 포함하고 코드베이스 내에있는 버전을 관리하는 수단을 제공합니다. 당신의 "부모"프로젝트 내부
git submodule add
명령을 원하는 다른 REPOS를 추가 : 다음과 같이 기본 워크 플로우입니다. 예를 들어, git submodule add https://github.com/jtauber/django-mailer.git
은 프로젝트에 django-mailer
폴더를 넣습니다. 원할 경우 git clone
과 같이 대체 이름을 지정할 수 있습니다.
- 이렇게하면 해당 repo가 자동으로 복제되고 기본적으로 마스터 분기가 체크 아웃됩니다. 또한이 정보를 Git repo의 색인에 추가하므로 커밋 할 항목이있는
git status
을 실행하면 표시됩니다.
- "부모"프로젝트 (하위 모듈에는 없음)에서
git commit -m "Your message"
을 실행하여 수행 한 작업을 커밋하십시오. 당신은 서브 모듈 (당신의 자식의 repo 내 자식의 repo)를 업데이트해야하는 경우
나중에, 다음, 직접으로 이동 표준 git pull origin master
을한다. 업데이트가있는 경우 상위 프로젝트로 돌아가서 git add
및 git commit
표준을 실행하여 저장소가 새 버전의 하위 모듈에 종속되어 있다는 사실을 확인하십시오.
이제 다른 곳에 프로젝트를 복제하면 기본적으로 하위 모듈은 동시에 코드를 가져 오지 않습니다. 부모 프로젝트는 서브 모듈을 커밋하는 저장소를 실제 코드가 아닌 저장소에 저장합니다.이 경우, 다음과 같은 명령을 사용하여 서브 모듈을 초기화하고 업데이트해야합니다
git submodule init
git submodule update
가 이제 서브 모듈뿐만 아니라 자신의 코드가 있어야합니다.
이 모든 내용은 Git community book에 자세히 설명되어 있습니다. git submodule workflow를 보여주는 멋진 video on Blip.tv도 있습니다.
+1 for pip git repo. 나는 내가 할 수있는 것을 알지 못했고 단지 하나의 패키지에 내가 필요로하는 알파를 필요로하는 곳에서 문제가 발생했다. –
나는 당신이 여기서 올바른 생각을 가지고 있다고 생각하지만, 당신이 의미하는 것에 대한 정보가 충분하지 않을 수도 있다고 생각한다. 이 작업을 수행하는 방법에 대한 정보가 많으면 [이 블로그 게시물] (http://www.saltycrane.com/blog/2009/05/notes-using-pip-and-virtualenv-django/)을보십시오. – meshantz
@mesantz :) virtualenvwrapper는 몇 가지 추가 연마 된 명령을 제공하여 virtualenv와 함께 작업 할 수 있습니다. http://www.doughellmann.com/articles/pythonmagazine/completely-different/2008-05-virtualenvwrapper/index.html – Jerzyk