이 기사에서는이를 비교적 잘 다룹니다.
https://github.com/rrrene/gitscm-next/blob/master/app/views/blog/progit/2010-04-11-environment.markdown
기본적으로 명령 줄에서 작업하는 경우 예상보다 간단합니다. 2 git repos를 원한다고 가정하십시오.
.gitone
.gittwo
다음과 같이 설정할 수 있습니다.
git init .
mv .git .gitone
git init .
mv .git .gittwo
다음과 같이 파일을 추가하고 하나에 만 커밋 할 수 있습니다.
git --git-dir=.gitone add test.txt
git --git-dir=.gitone commit -m "Test"
따라서 git에 대한 옵션이 먼저 나오고, 그다음에 명령이 나온 다음 git 명령의 옵션이 나옵니다. 다음과 같이 git 명령에 쉽게 별칭을 지정할 수 있습니다.
#!/bin/sh
alias gitone='git --git-dir=.gitone'
alias gittwo='git --git-dir=.gittwo'
그래서 당신은 gitone commit -m "blah"
.
까다로워 보이는 것은 무시하는 것입니다. .gitignore는 일반적으로 프로젝트 루트에 있기 때문에 전체 루트를 전환하지 않고이를 전환하는 방법도 찾아야합니다. 또는 .git / info / exclude를 사용할 수 있지만 수행 한 모든 무시는 커밋되거나 푸시되지 않아 다른 사용자를 망칠 수 있습니다. 두 저장소 중 하나를 사용하는 다른 사용자는 .gitignore를 푸시하여 충돌을 일으킬 수 있습니다. 이러한 문제를 해결하는 가장 좋은 방법이 명확하지 않습니다.
TortoiseGit과 같은 GUI 도구를 선호하는 경우 몇 가지 문제가 있습니다. 이러한 도구의 가정이 충족되도록 .gitone 또는 .gittwo의 이름을 일시적으로 .git로 바꾸는 작은 스크립트를 작성할 수 있습니다.
git subtree
일을 끝낼 것입니다.