2012-04-01 3 views
5

개인적으로 gitk 또는 linux repo를 gitk로 보면, 엄청난 양의 병합/분지에 완전히 압도 당한다. 나는 무슨 일이 일어나고 있는지 전혀 모른다. 공공의 repo에서 - (됐죠 예를 들어, 마스터, MAINT 옆, 폴리 우레탄은) 힘내 : 어떻게 리눅스/리눅스 메인테이너가 많은 지점을 유지할 수 있을까?

나는 일반적으로 당신이 할 수와 같은 선형의 역사와 몇 가지를 시도한다고 가정. 나는. 나는 병합이 거의 없다고 가정하고 주로 rebase가 사용되었다. 명백하게 나는 틀리다.

  1. 은 내가 자식/리눅스 메인테이너는
  2. 왜 그들이 더 자주 리베이스 사용하고 유일한 마스터, MAINT보다 훨씬 더 많은 지점이없는 좋은 쉬운 개요, 다음에 폴리 우레탄을 가지고 무엇을 궁금해?
+0

브랜치가 저렴하므로 자주 사용됩니다. – Nic

+0

2007 년 [Google Tech Talk] (https://www.youtube.com/watch?v=4XpnKHJAok8) Linus Torvalds는 git 사용법에 대한 몇 가지 예를 제공합니다. 특히 커널과 git 자체에서. 그 자식 작업 흐름에 대한 링크는 – andrybak

답변

3

Git 및 rebase와의 관계에서 이해해야 할 중요한 사항이 있습니다.

Do not rebase commits that you have pushed to a public repository. 

로컬로 병합 작업을하는 동안 원하는만큼 자주 리베이스를 사용할 수 있으므로 로컬이기 때문에 자주 리베이스하십시오. 당신이 선형 히스 로이를 좋아한다면. 즉, 그들이 한 리베이스 작업을 볼 수 없습니다.

브랜치의 수에 대한 다른 부분은 단순한 일종의 경험이며 그 이상의 개념 개념입니다. 나는 병렬로 300 가지가 넘는 가지들을 가지고 분기했습니다. 이것은 관습과 좋은 개념을 사용하여 짐승을 길 들인 단지 종류입니다.

2

저는 커널 개발자가 아니기 때문에 말할 수 없습니다. Here's 리누스가 그것에 관해 언급 한 참고 자료로, 귀하의 질문에 대한 답변으로 생각됩니다. 나는 랜덤 개의 가지가 혼란 스럽다는 것을 추가 할 것이지만, 약간의 순서를 부과하면 이 더 편해집니다. 가지가 IMHO가됩니다. (예를 들어, 의미있는 커밋 메시지를 포함하여 topic/short_name이라는 토픽 브랜치의 이름을 지정하는 것, devs는 일부 외부 문서를 유지하고 실제로 서로 이야기하거나 또는 사용자 환경에 맞는 것이 무엇이든간에).

this 워크 플로, 실제적으로 힘내 읽기가 필요하므로 질문에 적용됩니다.

+0

+1입니다. 그것은 내가 본 유일한 Git 설명이다. –

0

당신이 자식의 repo를 복제 할 때, 이것은 왜이다 (

(remotes/origin/master 추적, 일반적으로 master) 하나 현지 지점을 모든 원격 지점을 얻을 수 있지만, 당신은 단지 만들 체크 아웃, 기억 "Track all remote git branches as local branches")

가 간 작업을 유지하기 위해, 당신은 체크 아웃 및 하나 개의 특정 지점을 추적, 몇 가지 작업을 수행하고 origin/branch의 상단에 정기적으로 해당 지역의 지점을 리베이스 것 관심 주제에 따라 같은 질문이 날짜.

"What is the right git workflow with shared feature branches?"과 같이 공식 병합 지점과 병합하지 않아야합니다. 다시 병합 될 수 있으므로 피해야합니다.

0

Greg K-H Ask a kernel developer 열을 확인하십시오. 그는 자신의 워크 플로우를 자세히 설명합니다. Greg는 안정적인 지점의 관리자였습니다. 그는 USB를 포함한 많은 서브 시스템의 현재 유지 관리자입니다.

관련 문제