질문/조언질답게시판
Extra Form
PHP PHP 7.2
CMS Rhymix

예를 들어 A,B,C 라는 3개의 사이트를 제작한다고 할때

 

깃 사용하시는 분들

 

XE(라이믹스) 코어 + 레이아웃 + 모듈  까지 싹다 하나의 저장소에 넣고

A,B,C 사이트 각각 저장소를 만들어서 총 3개의 저장소를 사용하시나요

  

코어 따로, 레이아웃 따로, 모듈따로 이런식으로 관리하면서

A,B,C 사이트에서 필요할때 마다 하나씩 불러와서 작업하시는건지...

 

실무에서 어떤식으로 git 활용하시는지 간단한 팁이라도 부탁드리겠습니다

  • profile
    라이믹스 저장소이름을 official으로 등록
    본인저장소 이름을 origin으로 등록

    본인 서드파티 모듈 다 설치하고 origin으로 push 시키시고요
    라이믹스가 업데이트 된다면 git pull official develop 으로 가져옵니다.

    각각 따로 브랜치 저장하실꺼면 본인 저장소에 branch 를 여러가닥으로 나눠
    origin/A-site
    origin/B-site
    origin/C-site

    이렇게 나누시고 각각 브랜치 이동없이 라이믹스 업데이트시 git pull official 으로 가져온다음 푸시하고 서드파티모듈 따로 관리하면되요.
  • profile ?
    추천!
  • profile ?

    질문 작성자는 아니지만 궁금했던 질문 답변 감사합니다
    그리고 올리신 답변에 추가해서 질문을...

    1
    코드 작성 PC , 개발서버 , 운영서버 이렇게 있을때요
    코드 작성 PC(vscode)에서 개발서버로 업로드는 어떤식으로 하는게 효율적인가요 ?

    운영서버로 올릴때는 쉘 접속해서 pull 하고, 개발서버는 계속 업로드 되고 테스트(디버깅) 하면서 해야하니 그냥 vscode에 있는 sftp확장 이용하는게 최선일까요 ?

    2
    그리고 예를들어 라이믹스 1.0 버젼으로 모듈이나 스킨을 개발하다가 한동아 시간이 지나서 오피셜 버젼이 1.5 1.6 이런식으로 많은 업데이트 됐을때 pull 해서 가져오면 자신이 개발하던 부분하고 커밋 내용이 막 섞여 나와서 정신 없더라구요 딱 자신이 개발하는 범위(모듈)만 집중적으로 할 수 있으려면 어떤식으로 세팅해서 하는게 최선일까요 ?

  • profile profile

    항상 실무에서 어떻게 활용하는지가 궁금했는데

    팁 감사합니다

  • ? profile

    오버로드 //

    코드작성PC에 서버를 설치하면
    실시간으로 코드작성하면서 테스트 가능할 것 같아서
    저는 로컬에 서버를 설치합니다 (실무에선 어떻게 하는지 모르겠습니다)

    저는 맥북이랑 윈도우PC 이렇게 2개를 사용하는데
    윈도우라면 한글지원이 되는 Autoset(http://autoset.net/xe/) 이나
    유명한 xampp(https://www.apachefriends.org/index.html) 를 쓰시면 됩니다

    아파치,mysql 서버를 한방에 설치해주는 SW 입니다
    설치하는데 금방 설치해요

    실제로 서버로 사용까지 하려면 설정을 엄청 해야겠지만 내컴퓨터에서 나만 접속하면 되니까 설정도 필요없습니다


    로컬에서 테스트를 마친 다음 서버에 업로드하는 방식을 취합니다

  • profile ?
    네 답변 감사합니다 저도 그렇게 했다가... 아무래도 운영서버와 동일한 운영체제에서 개발 하는게 맞는거 같아서 hyper-v로 개발서버 올려서 하고 있습니다
  • ? profile
    동일한 서버환경 만들고 싶어서 Docker 같은걸 쓰신단 말이죠?
  • ? profile

    코드작성용 PC와 개발서버 사이에서 어떻게 파일이 오가는지는 중요하지 않습니다. 메모장을 제외한 모든 에디터가 실시간 FTP 업로드 기능을 제공하니까요. git을 비롯한 모든 버전관리는 개발서버 쪽에서 이루어지는 것이 자연스럽습니다.

    물론 개발서버가 로컬 PC일 수도 있지만, 만약 분리된 경우 코드작성용 PC는 그야말로 에디터를 실행하는 용도뿐이고, git은 개발서버 쪽에서 돌아가야 한다는 뜻입니다. (내공이 된다면 개발서버에서 vi로 직접 편집해도 됩니다. ㅋㅋ)

    pull은 다른 데서 작성된 코드를 넙죽넙죽 받아쓰기만 하는 경우에 간단하게 활용할 수 있는 명령입니다. 내가 변경한 내역과 다른 사람이 변경한 내역을 구분하여 관리할 필요가 있을 때는 branch, merge, rebase를 적극 활용해야 합니다. 특히 branch 만드는 것을 두려워하지 마세요. git은 이전세대의 버전관리툴들과 달리 브랜치 처리가 어마어마하게 효율적이라는 특징이 있습니다. 저장소 하나에 브랜치가 수백 개 있어도 상관없습니다.

     

    master, develop 등 원작자가 수시로 변경하는 브랜치라면 나는 아예 건드리지 않는다고 생각하시면 편합니다. 예를 들어 XE의 master 브랜치에 내가 커밋을 하고 있다면 뭔가 크게 잘못된 겁니다. 그건 공식 개발팀이 찜해놓은 브랜치예요. 공식 저장소에 커밋할 권한이 있느냐 없느냐를 떠나서 그냥 나는 건들지 않는 것이 신상에 좋다고요. 나는 내 브랜치에서 작업한 후 master에서 변경된 내역을 종종 merge한다는 개념입니다.

  • profile ?
    네 맞습니다
  • profile ?
    깃의 운영 주체는 코드작성용 PC가 아니라 개발서버가 주체가 되는게 맞다 라는 이해 하는게 맞죠 ?

    질문을 뛰어넘는 답변 감사합니다 ㄷㄷㄷ
  • profile
    그나저나 저랑 닉네임이 비슷해서 순간 놀랐네요;ㅋㅋㅋㅋㅋㅋㅋㅋㅋ