programing

두 개의 분기에서 동시에 작업하는 git

lastmoon 2023. 7. 1. 09:18
반응형

두 개의 분기에서 동시에 작업하는 git

나는 많은 지점이 있는 프로젝트가 있습니다.

저는 여러 지점에서 동시에 작업하고 싶습니다.git checkout.

저장소 전체를 다른 곳에 복사하는 것 외에 그렇게 할 수 있는 방법이 있습니까?

Git 2.5+ (2015년 2분기)는 이 기능을 지원합니다!

cool-approot (cd to root)cd cool-app), 실행git worktree add ../cool-app-feature-A feature/A합니다.feature/A새운전용에서리토렉디로,▁it에서,cool-app-feature-A.

은 이전 인 이전트를대다를 대체합니다.contrib/workdir/git-new-workdir이러한 "연결된" 작업 트리가 실제로 주요 레포뉴에 기록되는 더 강력한 메커니즘으로.$GIT_DIR/worktrees폴더(윈도우즈를 포함한 모든 OS에서 작동 가능).

다시 한 번, 레포를 복제하면 다음과 같은 폴더에/path/to/myrepo), 서로 다른 독립 경로에서 서로 다른 분기에 대한 작업 트리를 추가할 수 있습니다(/path/to/br1,/path/to/br2이력에 가 없는 트리는 주 이력과 연결되어 있습니다.--git-dir morenore)를 합니다.

자세한 내용은 "Git를 사용한 다중 작업 디렉토리"를 참조하십시오.

작업 트리를 생성한 후에는 이동하거나 제거할 수 있습니다(Git 2.17+, 2018년 2분기).

$GIT_SRC_DIR/contrib/workdir/git-new-workdir를 살펴보십시오.

이 리포지토리 포트의 커밋 로그에 따라:

심볼릭 링크를 사용하여 기존 리포지토리를 가리키는 작업 디렉터리를 만드는 간단한 스크립트입니다.이렇게 하면 서로 다른 작업 디렉토리에 서로 다른 분기를 둘 수 있지만 모두 같은 리포지토리에서 가질 수 있습니다.

Git는 여러 작업 트리를 동시에 지원합니다.자세한 내용은 다음을 참조하십시오.

그러나 ID가 있는 여러 작업 트리를 지원하는 것은 매우 어렵습니다.예를 들어 이는 JGet(이클립스 ID)에서 워크트리를 지원하는 향상 요청입니다.

따라서 문제가 많은 프로젝트를 수동으로 관리하거나(명령줄) IDE의 단일 작업 트리로 작업해야 합니다.

다음은 승인된 답변(업데이트)의 확장 가능한 버전으로, 순차적으로 이름이 지정된 분기(app1..app10).

중복 체크아웃(여기서는: 체크아웃을 통해)을 방지해야 합니다.master않지지점에 되지 않는 git worktree add):

$ git checkout master && for NUM in {1..10}; do git worktree add ~/git/<repo-name>/app$NUM app$NUM; done

나는 나의 작은 대본 http://www.redhotchilipython.com/en_posts/2013-02-01-clone-per-feature.html 을 제안합니다.

기본적으로 구성을 복제하고 대체합니다(원래 repo를 "보기" 위해 풀/푸시는 "메인" repo로 이동). 그러나 실제 부트스트래핑에서 추상화할 수 있을 정도로 간단합니다.

Git는 저장소 디렉토리 내에 저장소 데이터의 작업 복사본을 하나만 가질 수 있도록 지원하기 때문에 실제로는 그렇지 않습니다.

서로 다른 두 개의 작업 복사본을 사용하여 동일한 저장소를 커밋/풀하려는 경우 맨 저장소를 생성하여 두 개의 작업 복사본으로 복제할 수 있습니다.

작업을 완료할 때마다 기본 저장소로 이동하기만 하면 됩니다.

힌트:

man git-clone

git clone --bare

언급URL : https://stackoverflow.com/questions/2048470/git-working-on-two-branches-simultaneously

반응형