2009-10-29 5 views
2

저는 분산 버전 관리에 대한 이해를 얻기 위해 최근에 힘내와 함께 놀았습니다. 이제는 바자를보고 있지만 로컬 분기를 만드는 방법을 알지 못합니다. 즉, 내가 변경 사항을 커밋하고 싶을 때 푸시 할 필요가없는 분기입니다. 힘내으로, 내가 가서바자와 로컬 지점?

git branch branch_name

또는

git checkout -b branch_name

그때 원격 REPO 변경을 추진하지 않고 변경 사항을 커밋, 내 로컬 지점에서 작업 할 수 있습니다 할 것입니다. 내가 지점을 통과 할 때, 나는 그것을 나의 로컬 마스터 지점에 병합 할 수있다. 원하는 경우 원격 저장소에 변경 사항을 적용 할 수 있습니다.

Bazaar에서도 가능합니까? 바자 (Bazaar)는 SVN과 훨씬 비슷해 보인다.

답변

4

네, 확실히 할 수 있습니다. 당신이 변화를 만들 수

bzr branch bzr+ssh://foo.com/repo/mainline local_branch 

을 지금 : //foo.com/repo/mainline

당신은 수행하여 로컬 브랜치를 만들 수 있습니다

의이 BZR + SSH에서 원격 저장소가있다 가정 해 봅시다 local_branch에 복사하고 커밋하면 해당 변경 사항은 해당 로컬 디렉토리에만 있습니다. 예 :

로컬 브랜치에만 foo가 추가됩니다.

+7

나는 그 "cd"부분이 "별개의 디렉토리가되는 지점들"을 검증했다고 생각합니다. 분기를 변경할 때 도구를 다시 구성해야하는 경우 분기가 덜 유용합니다. – Dustin

2

bzr은 작업 디렉토리가 나타내는 분기를 전환 할 수 없다는 점에서 git와 다릅니다. 하지만 원격 저장소에서 분기하지 않고 작업 디렉토리에서 분기 할 수 있습니다. 당신이 올바른 방법을 저장소로 설정하면 그래서 그 대신

git clone git+ssh://foo.com/repo 
cd repo 
git checkout -b new_branch 

의 당신이

bzr branch bzr+ssh://foo.com/repo 
bzr branch repo new_branch 
+1

"bzr은 git과 달리 작업 디렉토리가 나타내는 분기를 전환 할 수 없습니다." 이것은 bzr 프로젝트가 일반적으로 전형적인 SVN 프로젝트처럼 trunk /와 branches/subdirectory로 설정된다는 것을 의미합니까? – ThisSuitIsBlackNot

+0

일종의,하지만 SVN과 관련된 엄격한 의미가 아니라 디렉토리는 실제 저장소의 일부가 아닙니다. 대신 사용자는 온라인 지점을 온라인에 게시하고 다른 사람들은 해당 지점에 액세스하여 병합 할 수 있습니다 (예 : 런치 패드와 같은) 지점을 호스팅하는 데 공통 위치가 사용되는 경우 쉽게 볼 수 있습니다 프로젝트와 관련된 모든 게시 된 지점. 서로 다른 지점이 서로에 대해 알고 있다고하더라도 (커밋의 내역과 어떤 저장소가 분기되었는지에 대한 지식을 통해) 모든 저장소는 고유 한 저장소입니다. – jamessan

3

할 것입니다, 당신은 이눔하는 비슷한 방식으로 작업 할 수 있습니다.

/dev 
    /branches 
     /mainline 
     <other branches go here> 
    /working 
     <this is your working tree> 

을 그리고 당신은 지점을 확인하려면 다음을 수행 할 수 있습니다 :

cd ~/dev 
bzr init-repo 
bzr reconfigure --with-no-trees 
mkdir branches 
bzr branch bzr+ssh://foo.com/repo branches/mainline 
bzr checkout --lightweight branches/mainline working 

이 지금과 같은 구조를 만들 것입니다

cd ~/dev/checkout 
bzr branch --switch ~/dev/branches/mainline ~/dev/branches/some-feature 

을하고 지금은에있을거야 some-feature 브랜치는 메인 라인과 같은 지점에 있습니다.

2

이전 질문이지만, 요즘은 colocated branches이이 길로 가고있는 것으로 보입니다. Bzr은(공동 위치 기반 저장소 만들기) 및 colo-branch (실제로이 기능을 광범위하게 사용하지 않았으므로 아직 사용하지 않았기 때문에 조금 뒤죽박죽이 될 수 있음)과 같은 다양한 편의 기능이있는 plugin을 포함합니다.)

+0

자세한 안내는 [여기] (https://wiki.openstack.org/wiki/ColocatedBranches)에서 찾을 수 있습니다. –