Git merge 공공 장소에서 맨 repos

0

질문

같은 사이트 GitHubGitLab 는 방법을 제공합 병합하는 지점에서 직접 자신의 웹 인터페이스를 제공합니다. 주어진 그러한 사이트 저장 맨 repos,그들은 어떻게 작업을 수행할 수 merges? 할 수 있습 같은 일을 수행 명령행에서 벌거벗 clone? 내가 찾은 이것 으로 가능한 대답을 사용하여 배관의 명령입니다.

git github gitlab merge
2021-11-23 22:52:54
1

최고의 응답

3

기 때문에 GitHub 닫원,우리는 확실히 말할 수 없는 방법을 정확하게 그들의 백엔드 병합 처리 작업입니다. 그러나, GitLab 오픈 소스는 우리가 할 수 있습을 엿 구현 정보가 있는 시간이 지남에 따라 변경됩니다.

는 방법 GitLab 가

오늘날 대부분의 git 관련 기능이 있는 표면에서 UI 를 포함하여,git 병합에 GitLab 에 의해 처리됩 gitaly 구성 요소의 GitLab,과 상호 작용하는 물리적 보관 git repositories. 그것은 주로 사용하여 종속된 라이브러리, git2go,을 수행하기 위한 실제적인 git 작업입니다.

가까이 보고서에 대한 소스 코드 gitaly최고의 평가를 내가 만들 수 있는 gitaly 실제로 광범위하게 사용 작업을 위해 나무를 git 포함하여 작업을 위해 병합할 필요가 없습니다. 저장소 및 작동나무가 일반적으로 열에 복제를"격리"디렉토리는 단지 임시 직원 만든 디렉토리 비행 및 저장소의 작업무이에 복제 temp 디렉토리. 십시오( 검역에 있습니다.go#L40-58,에서 호출 합니다.go#L53).

그들은 어떻게 작업을 수행할 수 merges?

그래서,당신의 질문에 대답:적어도 GitLab,작업무 사용한 병합(사이에 다른 작업)하고 있는지에서 수행되는 베어냅니다. 당신은 단지 그들을 볼 수 없기 때문에 임시 디렉토리에 사용되기 전에 그들은 실제 저장소 경로입니다.

우리는 아마도 가정 GitHub 가 비슷하지만,그것은 불가능을 확실히 알 수 있습니다.

그것을 할 수 있습니까?

할 수 있습 같은 일을 수행 명령행에서 벌거벗 clone?

당신은 지적을 하나의 예를 보인 하는 작업을 확인하지 않고 밖으로 작동하는 나무입니까? 하지만 그것은 작품으로 쓰는 나무(사용 git write-tree),는 실용적인 수준에 보이지 않는 어떤 이점을 말한 복제에서 벌거벗은 repo 고 확인하는 작업이 트리 및 사용 git 운영합니다. 성능(을 예측 가능한 이의제기),사용할 수 있습 tempfs 또는 다른 메모리 매핑된 위치에 있습니다.

나도 모르는 연결할 것이 충분한 수행을 위한 다양한 병합 사용된 전략에 의해 git merge.

그래서에서 전문적,어쩌면? 대답은 당신이 연결된 것 같다는 그 질문에 대답니다. 실제적인 수준에 유용할 것이 아니,그것은 보이지 않는다.

2021-11-24 00:59:11

감사 추적을 위해 아래로 그들은 코드 조각. 그들은 그럼에 대한 증거는 일회용,비 맨 복제. 흥미롭게도, 이러한 선 처럼 보일 수도 있습을 공유하는 객체에서 벌거벗은 repo 에 복제,어쩌면 성능을 향상시킬 수 있습니다. 의 git clone --shared.
Jim

@짐 hmmm. 나는 100%확실합니다. 에 따라 내 독서처럼,그것은 보인 relativePath 이 경우에는 임시 디렉토리 만들어지는 상대적인 저장소에서 디스크에 있습니다. 그것처럼 보이는 그것의 복제 repo,다음 재정의 개체 경로(quarantinedRepo.GitObjectDirectory = relativePath가) quarantineRepo 객체를 tempdir(는 것을 반대로 나는 가정은 기본값의 실제 저장소의 개체 위치에서 반환된 복제 방법).
sytech

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................