git 브랜치를 사용하는 heroku는 혼란스럽습니다!
-
22-07-2019 - |
문제
좋아, 그래서 내 작은 Stacia 브랜치를 병합하면 안되는 큰 github 프로젝트가 있습니다.그러나 Heroku는 MASTER 추진만을 진지하게 받아들이는 것 같습니다.내 브랜치를 푸시한 것처럼 보이지만 예를 들어 내 브랜치만 있는 경우 서버에 코드가 없는 것처럼 작동합니다..gems 파일이 내 브랜치에 있기 때문에 보석을 설치할 수도 없습니다.
기본적으로 나는 Heroku가 마스터가 있다는 것을 알기를 원하지 않습니다.테스트 Stacia 지점을 사용하고 싶습니다.하지만 내 지역 지점을 계속 무시합니다.이를 수행할 수 있는 방법이 있습니까?그리고 다시 말하지만, 메인 Github 저장소의 어떤 것도 덮어쓰고 싶지 않습니다(eeek!). 하지만 heroku에 마스터와 브랜치가 모두 있고 거기서 병합하면 괜찮을 것입니다.
저는 완전 git 초보자(창문에서는)이므로 양해해 주시기 바랍니다.
해결책
첫 번째 단계는 마스터 위에 로컬 브랜치를 리베이스했는지 확인하는 것입니다('mainGitHubRepo' 저장소에 있다고 가정해 보겠습니다).
git fetch mainGitHubRepo master
git checkout -b mainGitHubMaster mainGitHubRepo/master
그런 다음 브랜치로 돌아가서 mainGitHubMaster 위에서 재생해 보세요.
git checkout Stacia
git rebase mainGitHubMaster
처럼 조지브록 주석에 언급된 내용이 있으면 중간 로컬 분기를 만들 필요가 없습니다. mainGitHubMaster
:가져오기 분기 위에 직접 리베이스할 수 있습니다.
git checkout Stacia
git rebase maingithubrepo/master
그 후에는 GitHub 포크로 분기, 그런 다음 풀 리퀘스트.
로컬 지점을 설정된 원격 지점으로 푸시하려면 다음을 사용하면 됩니다.
git push REMOTENAME BRANCHNAME
.
원격 지점에서 동일한 이름을 사용하지 않으려면 다음을 사용할 수 있습니다.
git push REMOTENAME LOCALBRANCHNAME:REMOTEBRANCHNAME
.
(이게 뭐야? 데이비드 달러 에서 언급 그의 대답: git push heroku yourbranch:master
)
메모:GitHub에 자체 포크가 있는 경우 이 포크에 대한 '마스터'에서 직접 작업할 수 있습니다. 즉, 끌어오기 요청이 '마스터' 분기에서 나오므로 고려될 가능성이 높아집니다.
그러나 앞서 언급한 프로세스는 여전히 유효합니다.풀 요청으로 인해 변경 사항을 통합할 사람이 간단한 병합을 수행해야 하므로 리베이스 단계는 로컬에서 수행되어야 합니다.
다른 팁
다른 지점을 Heroku로 밀고 싶다면 같은 일을 할 수 있습니다.
git push heroku yourbranch:master