나는 자식 저장소를 ~/a
으로 지정했습니다.저장소 밖에있는 폴더를 git하는 방법은 무엇입니까?
동시에, 다른 응용 프로그램에서 업데이트되는 ~/b/content/data/
의 자료가 있습니다.
백업 목적을 위해, 나는 폴더를 이동하지 않고 자식 ~/a
, 에 ~/b/content/data/
의 물건을 추가하고 싶습니다. 물론 수동으로 복사하지 않아도됩니다.
그럴 수 있습니까? 경유는 ln
입니까?
나는 자식 저장소를 ~/a
으로 지정했습니다.저장소 밖에있는 폴더를 git하는 방법은 무엇입니까?
동시에, 다른 응용 프로그램에서 업데이트되는 ~/b/content/data/
의 자료가 있습니다.
백업 목적을 위해, 나는 폴더를 이동하지 않고 자식 ~/a
, 에 ~/b/content/data/
의 물건을 추가하고 싶습니다. 물론 수동으로 복사하지 않아도됩니다.
그럴 수 있습니까? 경유는 ln
입니까?
~/b/content/data
을 ~/a/b
에 연결하면 git은 실제 내용이 아닌 경로 이름에 대한 참조 만 저장합니다. 반면에 ~/b/content/data
을 ~/a/b
으로 이동하고 ~/b/content/data
으로 다시 링크하면 git이 파일을 커밋합니다.
심볼릭 링크 된 디렉토리를 추가하는 것은 git 1.6.1까지 작동합니다. 이제 다른 옵션이 있습니다.
~/b/content/data/
을 심볼릭 링크로 만들 수 있습니다.sudo mount --bind SOURCEDIRECTORY TARGETDIRECTORY
을 사용할 수 있습니다.이 동의한다. 3 번째 옵션 : sudo mount --bind SOURCEDIRECTORY TARGETDIRECTORY'가 실제로 작동 함 –
이 마운트를 어떻게 취소 할 것인가? –
'sudo umount SOURCEDIRECTORY'와'sudo umount TARGETDIRECTORY'가 작동해야합니다. – user2291758
더 많은 방법이해야 할 일이
git --work-tree=~/b/content/data add .
일회용 지정한 worktree 어떤이 있는지 여부를
확인 (사용자가 지정하는 경로 이름이 주어진 worktree을 기준으로)을 위해 그것을 할 것입니다 (find that/path -name .git
) 중첩 된 리포지토리는 하위 모듈이라고도하며 자체 리포지토리에 추가되는 것은 현재 체크 아웃 된 커밋 ID뿐입니다.
add와 같은 체크 아웃은 항상 현재 작업 트리에 있기 때문에 위의 명령을 수행 한 다음 커밋 한 다음 다시 정의하지 않고 체크 아웃하면 ~/b/content/data
님의 내부는 ~/a
에 체크 아웃됩니다.
당신이 저장소에 대한 지속적인 worktree을 설정하려면,
git config core.worktree ~/b/content/data
또는 상대 경로로합니다 (.git 디렉토리를 기준으로)
git config core.worktree ../../b/content/data # ~/a/.git/.. is ~/a
[이 질문] (HTTP ://stackoverflow.com/q/86402/1928529) git이 symlink를 따르도록하는 것에 대한 좋은 대답/옵션이있다. – dennisschagt