문제

내 git 워크플로를 처음 사용하고 다양한 기사와 스택 오버플로 질문을 읽었음에도 불구하고 내 프로세스가 올바른지 확신할 수 없기 때문에 이에 대한 피드백을 받고 싶습니다.이것은 내 현재 작업 흐름입니다(모든 Git 상호 작용에 Windows용 Github 애플리케이션을 사용하고 있다는 점에 유의하세요).

  1. 다음으로 구현할 기능이 무엇인지 결정합니다.
  2. 기능을 적절하게 설명하는 이름으로 분기를 만듭니다.Windows용 Github에서 분기 버튼을 클릭하고 새 이름을 입력하면 됩니다.
  3. 코드를 작성해 보세요.
  4. 해당 변경 사항을 새 브랜치에 커밋합니다.
  5. 코드를 더 작성해 보세요.
  6. 해당 변경 사항을 새 브랜치에 커밋합니다.
  7. 기능 구현을 마쳤으므로 변경 사항을 마스터 분기에 다시 병합하고 싶습니다.그래서 지점 제목 아래에 있는 '관리' 버튼을 클릭합니다.
  8. 새 분기를 마스터 분기에 병합합니다.
  9. 새 분기를 삭제합니다.

7단계까지의 과정은 매우 만족스럽습니다. 이 시점에서 약간 혼란스럽습니다.제 생각엔 명령줄을 사용하는 대신 Github for Windows 애플리케이션을 사용하려고 한다는 사실에 혼란이 있는 것 같습니다.응용 프로그램을 사용하면 작업이 더 쉬워지는 것처럼 보이지만 언급된 일부 명령/지침과 응용 프로그램에서 수행하는 작업 사이에 이해가 약간 끊어집니다.

몇 가지 구체적인 질문을 드리겠습니다.

  1. 내 작업 흐름이 실제로 올바른가요?그렇지 않다면 무엇이 문제이며 어떻게 개선할 수 있습니까?
  2. 내 변경 사항을 새 브랜치에 "게시"해야 합니까?내 이해는 이것이 다음을 수행하는 것과 동일하다는 것입니다. git push 명령줄에서.그게 사실인가요?그렇다면 기능 구현을 마쳤거나 괜찮은 상태일 때만 그렇게 하고 싶을 것 같나요?
  3. 마스터 브랜치에 병합한 후 브랜치를 삭제해야 합니까, 아니면 영원히 그대로 두어야 합니까?
  4. 병합을 완료한 후 마스터 브랜치를 게시해야 합니까? 아니면 이것이 암시적입니까?
  5. 가끔 병합을 수행할 수 없고 다음 오류 메시지가 나타납니다.

    병합할 수 없습니다.

    '테스트'를 '마스터'에 병합하지 못했습니다.셸을 열고 이 저장소의 상태를 디버그해야 할 수도 있습니다.

이전에 이런 일이 발생했을 때 마스터 브랜치로 변경하고 새 브랜치를 마스터 브랜치에 병합할 수 있었지만 더 이상 작동하지 않습니다.어느 브랜치에 있든 두 브랜치를 병합할 수 없습니다.둘 다 동기화되어 있으며 테스트 브랜치의 모든 변경 사항을 게시했습니다.분기를 병합할 수 없는 이유를 알아보려면 셸에 무엇을 입력해야 합니까?

참고로 다음은 내 프로세스를 촉발한 주요 링크입니다.

  1. Gitub의 워크플로에 대한 Scott Chacon
  2. 로컬 저장소의 단일 개발자를 위한 Git 워크플로
  3. 단일 사용자를 위한 Git 워크플로
도움이 되었습니까?

해결책

당신이 설명하는 내용은 동일한 코드 기반을 사용하는 여러 개발자에게도 매우 잘 작동하는 공통 분기 작업 흐름처럼 들립니다.거의 완벽하게 커버됩니다 자식 흐름 이는 특정 단계를 자동화하는 git 명령줄의 확장입니다.확인해 볼 가치가 있습니다.

나는 git용 UI 도구를 그다지 좋아하지 않습니다.저는 대부분의 경우 명령줄을 사용하고 있습니다.그래서 저는 Windows용 GitHub에 대한 경험이 없습니다.하지만 병합이 더 이상 빨리 진행되지 않기 때문에 문제가 발생할 것이라고 확신합니다.이를 위해서는 도구에서 다루지 않는 수동 병합 단계가 필요합니다.

브랜치를 업스트림에 병합한 후에 브랜치를 계속 유지해야 할 강력한 이유는 없습니다.그러나 하나는 특정 기능에 어떤 커밋이 포함되었는지 추적하는 것입니다.지점을 유지하기로 결정했다면 지점을 게시하는 것이 좋습니다.로컬 컴퓨터에 있는 코드에 의존하지 않습니다.그런데 가지를 유지한다고 해서 저장소가 훨씬 커지지는 않지만 시력이 오염됩니다.대부분의 경우 커밋은 업스트림 브랜치에 존재합니다.

병합 후 마스터 브랜치를 게시(푸시)해야 합니다.

git 명령줄 도구에 익숙해지려면 다음부터 시작하는 것이 좋습니다. Git 및 GitHub 소개 자세한 내용은 GitHub 사용자의 링크 참조를 따르세요.

도움이 되었기를 바랍니다

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top