2013-03-26 3 views
8

버전 관리 시스템에서 git를 처음 사용하고 있습니다. 새 프로젝트를 시작하고 프로젝트에서 사용 된 기술 (hello world examples ...)을 조금 실험 해보기 위해 "놀이터"지부와 같은 것을 만들고 싶습니다. 새 지점 "놀이터"를 만드는 것이 일반적입니까? 아니면 마스터 지점에 놀이터라는 폴더를 만들어야합니까? 당신의 자연에서 다소 실험적인 개발 작업을 수행 할 때언제 새 분기를 만들어야합니까?

관련

답변

13

새 분기를 작성해야합니다. 그래서 당신의 시나리오에서는 반드시 새로운 브랜치를 만들고 마스터 내에 폴더를 만들지 마라. 마스터에 디렉토리로 sandbox 작업을 만든 경우 git을 사용하여 제거 할 때까지 해당 샌드 박스가 상주합니다. 마스터 브랜치에 데드 코드를 두는 것은 다른 개발자를 혼동시킬 수 있고 애플리케이션 수명 동안 부패 할 수 있기 때문에 어떤 방식 으로든 이상적이지 않습니다.

팀에서 버그를 경험 한 경우 버그가 해당 디렉토리에 존재하는지 확인하기 위해 실험 작업을 탐색하는 데 시간을 낭비하지 않아도됩니다. 새 분기를 작성하면 마스터 분기에서 변경 사항을 분리 할 수 ​​있습니다. 실험 결과가 좋으면 변경 사항을 마스터 분기에 병합하는 옵션이 항상 있습니다. 일이 잘 진행되지 않으면 지사를 버리거나 로컬 저장소에 보관하십시오.

+2

"항상 새 분기를 만들어야합니다."항상 마침표. –

3

지점에는 여러 용도가 있으며 워크 플로에 따라 조금씩 다릅니다. 일반적으로 사용되는 두 흐름은 다음과 같습니다

모두 사용할 수 있도록 다시 한 번 준비/접수 머지 새로운 기능을 구축하기 위해 주제를 가지라고합니다.

Github flow는 매우 간단하며 분명 github이 사용하는 것입니다. Gitflow는 좀 더 복잡하며 핫픽스가 적용될 수있는 여러 버전의 앱을 지원해야 할 때 더욱 적합합니다.

결국 어떤 종류의 워크 플로를 사용 하느냐가 중요합니다.하지만 지점을 만드는 것이 매우 저렴하기 때문에 만드는 지점의 수 (결국 다시 삭제할 수 있습니다.)는 중요하지 않습니다.

1

일반적인 방법은 master 브랜치를 라이브 브랜치로 사용하는 것입니다. 그런 다음 주인에게서 새로운 가지를 만들고 그것들에 대해 연구합니다 (지형지 물). 작업을 마친 후에 변경 사항을 마스터에 다시 병합합니다.

dev 브랜치와 같은 새로운 원격 브랜치를 빌드하고 미리보기 만 원하는 경우 변경 사항을이 브랜치에 병합 할 수 있습니다. 몇 가지 방법이 있지만 Google에 대한 많은 정보가 있습니다.

Branching and merging
Git branching model

1

당신은 도전적 실험이 아니라 놀이터의 repo에서 배워야한다.
레포의 놀이터 디렉토리가 덜 이익이됩니다.
게임을하고 실수를 몇 가지 배웁니다. 몇 번 삭제하고 야생으로 이동하십시오.

$ mkdir playground 
$ git init 
$ touch hello-world 
$ git add hello-world 
$ git commit -m "my first commit" 
$ git branch goodbye 
$ git checkout goodbye 
$ echo "goodbye" | cat >>hello-world 
$ git status 
$ git add hello-world 
$ git commit -m "goodbye commit" 
$ git merge master 

나는 GitHub의에서 원하는 언어에 적극적으로 프로젝트의 포크를 잡아 권하고 실제 코드 등이 리베이스, 병합 갈 줄도 것입니다.

1

당신은 새로운 가지를 만드는 것을 고려하고이 경우에 그 (것)들에 작동합니다 : -

  • 당신은/작업 샌드 박스 환경에서 뭔가를 테스트하려는.

  • 커밋을 짧게 유지하는 것이 좋습니다. 자주 커밋하면 다른 사람의 개발 영역을 방해 할 수 있습니다. 따라서 분기에서 작업을 완료 한 다음 나중에 분기를 메인 분기에 병합하는 것이 좋습니다. [팁] 브랜치에 메인 브랜치를 자주 병합하여 브랜치를 메인 브랜치와 동기화시켜야합니다. 나중에 나중에 손으로 병합 할 물건이 많지 않습니다.

  • 버그를 해결하고 싶습니다. 그것은 다른 지점에서 그것을 해결하고 나중에 병합하는 것이 좋습니다.

  • 커밋이 잘못되었거나 빌드가 손상된 경우 프로덕션 빌드는 영향을받지 않습니다. 그래서 나는 적어도 두 가지 dev 브랜치와 prod 브랜치를 사용하는 것을 선호한다. 모든 것이 완전히 테스트되면 dev 브랜치를 프로덕션 브랜치에 병합하십시오.

관련 문제