2011-02-12 1 views
1

mislav의 유명한 will_paginate 보석을 약간 수정했습니다. 내가 가지고있는 나머지 보석들과 함께 그 변화를 "포장"하여 다른 기계에 쉽게 배치 할 수 있기를 바랍니다. 내가 찾고있는 것은 github 커밋이 아니라 내 자신의 용도로만 내 앱에서 변경해야하기 때문입니다.보석의 동작을 바꾸고 배치 용으로 포장하십시오.

"번들 팩"을 사용할 때 실제로 내 모든 보석을 포장하지만 원시 파일에 수정 한 내용이 아니라 다운로드 한 원본 보석 파일을 포장합니다.

현재 보석을 포장 한 다음 변경된 사항과 함께 다른 곳에 배치하는 방법은 무엇입니까?

감사합니다.

답변

0

github 커밋을 찾고있는 것은 아니지만 솔직히 말해서 가장 쉬운 방법이라고 생각합니다. repo를 포크하고, 변경하고, 커밋하고, github으로 밀어 넣은 다음 gemfile에 추가하고 포크를 가리 키십시오. 번들러는 github에서 직접 보석을 설치할 수 있습니다. 나는 새로운 파일을 추가하지 않는 한 gemspec을 다시 생성해야한다고 생각하지 않는다. Gemfile에이 작업을 수행 :

gem 'will_paginate', :git=>'git://github.com/your_username_goes_here/will_paginate.git' 

그래서 요약 (경우에 당신이 github에/w 그 익숙하지 않은) :

  1. 로그인 또는 github의 계정에 로그인합니다.
  2. will_paginate의 repo로 이동하여
  3. local_shell> 자식 클론 자식 새로운 포크에서 "포크"버튼을
  4. 복사 URL을 클릭 //github.com/your_username_goes_here/will_paginate.git
  5. 확인하여
  6. local_shell> 자식이 당신의 Gemfile에 자식 포크 URL을 추가 -a
  7. local_shell> 자식 푸시에게
  8. 을 커밋 변경됩니다
  9. local_shell> 번들
  10. 설치

코드를 변경하는 것 외에도 github 계정이있는 경우이 전체 프로세스가 약 2 분 정도 걸립니다. 쉽고 github에서 변경 한 내용을 추적 할 수 있습니다. IMO는 로컬에서 변경하고 원격 저장소에 맡기지 않는 것이 좋지 않습니다. 특히 이러한 변경 사항을 배포 할 때 상황이 복잡하고 혼란 스러울 수 있습니다.

+0

고마워요! 나는 이니셜 라이저 파일로 module_eval을 사용하는 것이 지금 당장은 잘될 것이라고 생각한다. 그래도 당신의 공헌에 감사드립니다! – schone

관련 문제