나는 컴파일하는 데 오랜 시간이 걸리는 많은 소프트웨어에서 작업한다. 자주 로컬에서 개발 한 다음 비좁은 원격 시스템에서 컴파일/실행합니다. 힘내라이 모든 것을 매우 쉽게 만든다 : 나는 지역적으로 커밋하고 그 지점을 원격지의 자식 리포에서 끌어 낸다. 불행히도 컴파일 할 때 오타 및 기타 작은 오류를 수정하기 위해 코드를 작성하고 자주 커밋하는 실수를합니다. 이러한 마이크로 커밋은 내 로그를 더하고 깔끔하게 정리합니다. 나는 이런 식으로 뭔가 할 수있는 방법을 찾고 있어요 : 그래서컴파일 머신을위한 워크 플로우
#local> git commit -m "My useful commit message and the bulk of my commit"
#remote> git pull local development_branch
#remote> *compile my code and get a stupid error*
#local> *fix error*
#local> git add *fixed file*
#local> git commit --amend
#remote> *force an update to remote that causes it to look like master*
을, 나는 '후 내 로컬 지점처럼 내 리모컨을 업데이트하는 마지막 단계를 수행하는 명령을 찾고 있어요 커밋을 수정했습니다. 현재 내가하는 일은 수행하는 것입니다.
git reset --hard HEAD~1
git pull local development_branch
이 코드는 작동하지만 실제로는보기 흉한 것처럼 보입니다. 내가하려는 일을 성취 할 수있는 더 좋은 방법이 있습니까? 바로 원격의 위치로 직접 다시, 다시 당겨 다음 "시간을 거슬러가는"대신의
git에 관한 질문과는 관련이 없습니다. 프로그램을 컴파일하는 데 오랜 시간이 걸리는 경우 변경된 파일 만 다시 컴파일하기 위해'make '또는 유사한 것을 사용하여 많은 시간을 절약하지 못할 수 있습니까? –
내가 진정으로 궁금해하기 때문에 이것을 비꼬거나 스너키라고 해석하지 마십시오. 컴파일을 개별적으로 빌드 할 수있는 개별 단위로 나눌 수없는 이유가 있습니까? 당신이 묻고있는 것을 할 수 있어야하지만, 이것은 개발 프로세스를 다시 검토해야 할 강력한 이유입니다. – austin
당신은 아마 그것을 알고있을 것입니다. 그러나 그렇지 않은 경우에, 문제를 위해 특별히 만들어진 소프트웨어 카테고리가 있습니다 : 지속적인 통합. [Jenkins] (https://jenkins-ci.org)와 같은 – berkes