2012-06-08 3 views
0

rsync로 계산 된 diff를 Git 저장소에 추가 할 수 있습니까?Git에 Rsync의 Diffs 추가

그래서 Git diff 계산을 건너 뛰고 내 파일을 Git 저장소에 추가하여 특정 파일을 저장하려고합니다.

Git에 diff를 제공 할 수있는 저수준 유틸리티가 있습니까?

+1

미안하지만 관심이 보이지 않습니다. diff를 표준 도구에 적용하고 diff를 git에 적용하지 않는 이유는 무엇입니까? – CharlesB

+0

그건 많은 처리가 필요하고 실제로 시간이 많이 걸릴 것입니다. –

+0

왜 그렇게 큰 차이점이 있습니까? diffs를 적용하는 것이 일반적으로 빠릅니다. 몇시에 걸리니? – CharlesB

답변

0

나는 당신이 무엇을 요구하고 있는지 확실하지 않으므로,이 대답이 그 표를 놓친다면 알려주십시오.

힘내세요 상관 없어 파일이 수정됩니다. 당신이 작업 복사본이 두 위치에서 체크 아웃 한 그렇다면, 당신은 단순히 다른 한 위치에서 파일 변경 사항을 전파 할 rsync을 사용하고 있습니다 :

git add file_that_was_changed 
git commit -m "commit changes from rsync" 

이는 경우에 발생하는 것과 같은 일입니다 단지 손으로 파일을 편집하는 것이 었습니다. 어떤 점에서도 git에서 diffs를 계산하려고 시도하지 않으므로 어떤 종류의 비용 절감을 기대할 수 있는지 명확하지 않습니다. 힘내는 델타를 저장소에 저장하지 않는다; 파일에 변경 사항을 적용 할 때마다 git은 파일의 새 버전을 전체적으로 저장합니다.

귀하의 질문에 도움이되지 않는다면 정확하게 워크 플로가 어떻게 보이는지 예를 들어 업데이트 할 수 있다면 좋을 것입니다. 대체 솔루션을 제공 할 수도 있습니다.

+0

git이 자신의 가비지 컬렉터를 실행할 때 패키지 파일을 생성합니다. 패키지 파일에는 diffs 및 최신 버전의 파일이 들어 있습니다. git gc 명령으로 가비지 컬렉터를 트리거 할 수 있습니다. 그래서 diff 파일을 git 패키지 파일에 직접 넣을 수있는 유틸리티가 있는지 알고 싶습니다. –

+0

나는 당신이 이루고자하는 것을 정확히 모르고있다. 단일 리포지토리 또는 많은 리포지토리가 있습니까? 전자의 경우, 당신이 제안한 것이 당신에게 많은 승리를 줄 것 같지 않습니다. 후자의 경우 하나의 저장소를 정상적으로 업데이트 한 다음 rsync를 사용하여 다른 위치에 배포 할 수는 있지만 git의 기본 메커니즘을 사용하는 것보다 빠르지는 모르겠다. – larsks

+0

서버에 여러 개의 리포지토리가 있습니다. diffs는 rsync를 통해 클라이언트에서 계산됩니다. 따라서 diff를 패키지 파일에 직접 추가하면 서버 처리 시간이 절약됩니다. –