질문을 삭제하지 말아주세요.!
 
1
0
-1

.gitignore에 vendor 디렉토리가 등록되어 버전관리에서 제외되고 있는데요.

vendor 하위디렉토리 중 특정 디렉토리를 버전 관리하고 싶습니다.

할수 있는 방법이 있을까요??

    CommentAdd your comment...

    1 answer

    1.  
      1
      0
      -1

      아래 명령처럼 --force 옵션을 붙여서 추가하면 되지만 vendor 를 버전관리에 등록하는 것은 결코 추천하지 않습니다.

      git add --force vendor/some/module


      모듈 버전을 변경하려면 composer.json 을 수정하고 composer up 을 실행하는 것을 권해 드립니다.

      1. 박순재

        adminlte 템플릿을 사용하고 있는데요.

        @extends('adminlte:page')

        라고 선언해 두면 vendor 디렉토리에 있는 page.blade(공통레이아웃)를 가져오더라고요.

        이렇게 되면 템플릿안에서 스크립트 라이브러리를 선언하면

        vendor 디렉토리가 버전관리 대상이 아니여서 실서버에 반영을 할수가 없어서요.

        혹시 좋은 방법이 있을까요?

      2. 정광섭

        vendor 내에 resource 를 설치하는 패키지라면 vendor 내 adminlet 폴더만 git 에 추가하는 게 좋겠네요.

      3. 김주원

        박순재 adminlte 매뉴얼 페이지를 한번 더 살펴보세요. artisan vendor:publish 해서 블레이드 파일을 resource/views 아래로 떨굴 수 있을 겁니다.

        vendor 아래에 있는 파일을 수정하는 것은 금기입니다. adminlte에만 국한하지 않고, vendor 아래 파일을 부득이 수정해야 한다면, 포크를 따서 해당 파일만 수정해서 푸쉬해 두고, 빌드 과정에서 composer install이 끝난 후, wget으로 포크한 파일만 다운로드 받아 덮어 쓰는 것이 좋겠습니다.

        아래 링크는 XHProfiler를 설치하는 Dockerfile인데, 원본 소스에 문제가 있어서, 제가 수정한 파일을 gist에 올려놓고 다운로드 받아 빌드하는 사례입니다.

        https://github.com/appkr/laravel-xhprofiler/blob/master/Dockerfile#L101-L103

      4. 박순재

        메뉴얼에 있는 artisan vendor:publish 실행시 admilte를 떨굴 수 있긴합니다만

        /resource/views가 아니라 /public/vendor/ 에 추가 됩니다. 

        .blade 파일이 아니라 js, css, font 등등 이 추가됩니다.

        그러다 보니 datatable, datapicker 등등 라이브러리를 추가하기위해 /vendor 밑에 있는 adminlte 의 블레이드 파일을 수정하고 있었습니다.


        /vendor 아래에 있는 파일은 수정하지 않는것이 금기였군요.

        이것저것 처음하다 보니 부족한게 많네요. 답변감사합니다.



      CommentAdd your comment...