저는 현재 사용하고있는 GIT 워크 플로우에 대한 의견을 듣고, 변경 사항 중 어느 것이 적절한 리포지토리에 병합/푸시되지 않았는지 확인하는 방법에 관심이 있습니다. 그래서 우선, 내 현재의 시스템은 다음과 같습니다 : 새 작업에 대한GIT 브랜치가 완전히 병합되지 않았다는 것을 어떻게 알 수 있습니까?
remote.master
|
|
V
local.master
| | |
V V V
branch branch branch
, 나는 local.master하는 remote.master에서 당겨 새로운 지점을 만들고 그것을 확인합니다. 작업을 수행하는 동안 다양한 커밋을 수행하고, 다른 작업으로 전환 한 다음 준비가되면 remote.master에서 local.master로 연결하고 local.master로 분기를 병합 한 다음 마지막으로 remote.master로 푸시합니다.
그래서 2 가지 질문 : 소규모 팀의 경우이 과잉 공격입니까? 지방 지부를 생략하는 것이 더 합리적입니까? 그렇다면 some advice은 '빨리 감기'(remote.master에서 변경 사항을 구분할 수없는 것으로 이해함) 또는 예기치 않은 시간 소인을 갖고 있으며 해석이 어려운 커밋의 과다한 문제가 있음을 제안합니다.
위의 워크 플로를 가정하면 두 번째 : 때로는 작업 사이를 자주 전환합니다. 나를 보여주는 화면이 필요합니다.
'branch 01' -> partially merged to local.master
'branch 04' -> notmerged to local.master
'local.master' -> partially merged to remote.master
다양한 기능이 병합되었거나 어디로 이동했는지 잊어 버릴 수 있습니다. 나는 branch-by-branch로 가고 싶지 않고 'git diff'또는 다른 명령을 통해이 정보를 신성화하려하지 않습니다. 현재 Windows에서 Tortoise GIT를 사용하고 있지만 다른 그래픽 대안을 사용할 수 있습니다. 나는 쉘을 때때로 사용하지만, UI를 선호한다. 이 정보를 얻을 수있는 방법이 있습니까?
로컬 분기를 생략하지 않습니다. 디폴트로,'git branch'는 단지 로컬에만 표시합니다. 그러나 나는 당신이 가지가 실제로있는 것보다 더 많다고 생각하고 있다고 생각합니다. 그것들은 정말로 특정한 커밋에 붙여진 일종의 "스티커 메모"입니다. 가지에 커밋 할 때 새로운 커밋을 추가하고 스티커 메모를 앞으로 옮깁니다. 실제 분기는 항상 커밋 그래프에서 동적으로 결정됩니다. 지점 레이블 이름을 합리적으로 유지하는 것은 사용자에게 달려 있습니다. – torek