master 브랜치가 프로덕션 코드를 나타내는 웹 사이트에 대한 git 리포지토리가 있습니다. 사이트의 '샌드 박스'버전을 설정하라는 요청을 받았으며 시스템의 잠재 사용자가 실험을 통해 프로덕션 시스템에서이를 수행 할 필요가 없습니다.git : 리베이스 된 브랜치를 정기적으로 푸시하는 것보다 나은 대안
사이트의 샌드 박스 버전에 명확하게 레이블을 지정하고 일부 기능을 사용하지 않도록 설정해야하므로 샌드 박스 분기 (마스터를 기반으로)를 만들고 경고 메시지를 추가하는 등 일부 커밋을 수행했습니다.
그런 다음 두 분기를 모두 업스트림으로 밀어 넣었습니다. 그리고 웹 서버에서 프로덕션 용과 샌드 박스 용으로 별도의 디렉토리에서 각 분기를 체크 아웃했습니다.
잘 작동하지만 더 많은 코드를 작성하려고 할 때 문제가 발생합니다. 마스터 브랜치에 코드를 커밋하면 프로덕션 시스템에서 업데이트되지만 샌드 박스에서는 새 코드가 표시되지 않습니다. 따라서 샌드 박스 분기를 마스터에 리베이스하므로 샌드 박스에 대한 커밋이 항상 프로덕션 상단에 있습니다. 그러나 일단 내가 한 후에는 더 이상 빨리 감기가 아니기 때문에 더 이상 샌드 박스 분기를 업스트림으로 푸시 할 수 없습니다. 나는 자식 서버에 로그인하고 분기를 바꾸고 소프트 리셋을 한 다음 푸시를 다시해야한다.
분명히 git을 사용하여 더 나은 방법이 있습니까? 필자가 실제로 필요로하는 것은 현재 어떤 분기가 현재 체크 아웃되어 있는지에 따라 커밋을 일관되게 적용하는 몇 가지 방법입니다.
커밋 후크를 시도 했습니까? –
@ J-16SDiZ : 아니오, git에 내장 된 기능으로이 작업을 수행 할 수 있기를 바랬으므로 저장소가 이동하는 경우 후크를 복사하는 것을 기억할 필요가 없습니다. – Malvineous
샌드 박스 서버에 후크가 있음을 의미합니다. 이미 몇 가지 CI 인프라가 없습니까? 샌드 박스는 어떻게 업데이트됩니까? –