Git 아카이브 및 .gitattributes를 사용하여 코드의 사용자 지정 .zip 만들기
2906 단어 gitproductivitydevops
문제
그래서 저는 이 WordPress 플러그인을 개발했고 검토를 위해 제출할 준비가 되었습니다. 그래서 폴더의 .zip 파일을 만들어야 합니다. 그래서 폴더를 마우스 오른쪽 버튼으로 클릭하고 '압축'을 클릭하면 맞습니까?
예, 작동하지만 해당 폴더에는 제출하고 싶지 않은 많은 항목이 있습니다.
.git
, .github
, /bin
폴더와 플러그인에 필요하지 않은 많은 것들이 있습니다. 현재 디렉터리의 모습은 다음과 같습니다..github
/bin
/core
/languages
/node_modules
/scripts
/tests
/vendor
.gitignore
.composer.json
plugin.php
솔루션 #1 - Git 아카이브
그래서 저는 다시 Google을 찾았고 꽤 좋은 답변을 제공했습니다. git archive .
마스터 브랜치에 커밋된 모든 파일을 가져와 내 플러그인의 .zip 파일을 생성합니다.
git archive --format zip --output \"plugin.zip\" master -0
내 'plugin.zip' 파일은 다음과 같습니다.
.github
/bin
/core
/languages
/scripts
/tests
.composer.json
my-plugin.php
솔루션 #1.0.1 - .gitattributes
또 다른 문제가 있습니다. 내 .zip 파일은 다음과 같습니다. 내 .gitignore 파일에 있는 모든 것을 .zip에서 제외했지만
/tests
폴더나 /bin
폴더를 제출하고 싶지는 않았습니다. 그래서 Google로 돌아가서 답은 내 디렉터리의 루트에 .gitattributes 파일을 만드는 것입니다..gitignore export-ignore
.gitattributes export-ignore
.github export-ignore
bin export-ignore
tests export-ignore
composer.json export-ignore
composer.lock export-ignore
참고: 여기까지 온 데는 두 가지가 있습니다. 1번,
git archive
명령을 실행하기 전에 .gitattributes 파일을 커밋해야 합니다. 그렇지 않으면 작동하지 않습니다... 그리고 2번, 폴더 이름 앞에 /
또는 ./
를 추가하면 작동하지 않습니다... (예: ./bin export-ignore
)그래서 마지막으로
git archive
명령을 다시 실행하면 매우 깔끔합니다./core
/languages
/scripts
my-plugin.php
다음 단계
GitHub에 푸시할 때 이 작업을 자동으로 수행하는 것이 좋습니다. 몇 가지 테스트를 실행한 다음 릴리스로 zip 파일을 생성하는 GitHub 작업을 설정할 수 있다고 생각합니다.
마지막 한가지...
우리는 게으르고 기억하는 것을 좋아하지 않기 때문에 archive 명령을 .package.json에 추가할 수 있습니다. 이제 실행만 하면 됩니다
npm run archive
.{
"name": "...",
"version": "...",
"scripts": {
"archive": "git archive --format zip --output \"mandrill-mail.zip\" master -0"
}
}
Reference
이 문제에 관하여(Git 아카이브 및 .gitattributes를 사용하여 코드의 사용자 지정 .zip 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/markcummins/make-a-custom-zip-of-your-code-using-git-archive-gitattributes-3ngn텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)