2011-02-27 4 views
0

나는 여전히 GitHub과 Heroku를 생각하고 있으므로 나와 함께 견뎌주십시오. :)master 브랜치로 푸시하지 않고 로컬 GitHub 브랜치에 대한 변경 사항을 볼 수있는 방법이 있습니까?

나는 xyz.com과 같은 웹 응용 프로그램을 가지고 있습니다. 지금 내가하고있는 일은 일부 파일에서 일부 코드/UI 변경을 만들고, 파일을 커밋하고, 마스터 분기로 푸시 한 다음 URL을 새로 고침하여 이러한 변경 사항을 확인하는 것입니다.

이것은 분명히 잘못된 접근이라고 생각하지만, master 브랜치로 푸시하지 않고 코드에서 변경된 사항을 테스트하는 방법을 알지 못합니다. 내가 어떻게 할 수 있니?

+0

명확히하기 위해, 나는 당신이 github을 먼저 푸시하고, xyz.com에서 github을 당기는 것을 추측하고 있습니다. (아니면 xyz.com에 직접 푸시하고 있습니까?) 좋은 생각이 아닙니다.) –

+0

아, 내 생각에 heroku 태그를 발견 했으므로 직접 배치하여 배포 할 것입니다. –

답변

1

정식 버전의 상황을 잘 이해하지 못합니다 (내 의견을 참조하십시오. icc asks으로 로컬 테스트를 할 수없는 이유는 무엇입니까?)하지만 제목의 질문에 대답하려면 실행하여 마스터와 GitHub의에 버전의 차이점 :.

git fetch github 
git diff github/master master 

을 (즉, 당신의 GitHub의 저장소를 참조하는 원격가 github라고 가정 - 그것은 잘 귀하의 경우 origin이 될 수 있습니다 당신이 볼 수있는 모든 리모컨은 git remote -v입니다.)

더구나 git fetch github을 실행하면 git에서 소위 "원격 추적 브랜치"를 업데이트합니다 - 대부분의 경우 이들은 origin/whatever, github/experiment 등으로 보입니다. 이러한 브랜치 상태의 캐시와 비슷하지만, git fetch을 실행하거나 원격 저장소의 해당 분기에 성공적으로 git push을 실행할 때만 업데이트됩니다. 따라서 github/master이 GitHub의 해당 지점에 대한 최근 스냅 샷인지 확인하기 위해이 작업을 완료하면 git diff을 사용하여 로컬 master 지점과 비교할 수 있습니다.

0

첫 번째 : 마스터 분기로 푸시하지 않고 원격 저장소로 푸시합니다. git에서 읽어야합니다.

두 번째 : 좋은 워크 플로우는 아니므로 먼저 변경 사항을 적용한 다음 로컬에서 테스트해야합니다. 테스트가 완료되면 커밋을 원격 저장소로 푸시 할 준비가됩니다.

+1

icc, 제안 사항은 일반적으로 사실이지만 Heroku에서 제공하는 추가 기능을 사용하는 복잡한 Heroku 기반 응용 프로그램을 개발할 때는 항상 실용적이지는 않습니다. 보다 복잡한 경우에는 두 개의 Heroku 앱을 만들고 제작하고 준비하고 두 개의 원격 git 저장소를 설정하십시오. 준비 응용 프로그램으로 이동하여 변경 사항을 디버깅 한 다음 프로덕션으로 이동하고 마지막으로 태그가 추가 된 분기를 GitHub으로 푸시 할 수 있습니다. –

관련 문제