.gitignore에 Linux 실행 파일을 추가하는 방법은 무엇입니까?
명시적인 확장자를 부여하지 않고 특정 또는 / bin 디렉토리에 배치하지 않고 Linux 실행 파일을 .gitignore에 어떻게 추가합니까? 대부분의 이름은 ".c"확장자없이 컴파일 된 C 파일과 동일합니다.
소스 코드 파일을 제외하고 모두 무시할 수 있습니까?
예를 들면 :
*
!*.c
!Makefile
나는 그것들을 프로젝트 .gitignore에 명시 적으로 넣을 것입니다. 그것은 우아한 아니지만, 나는 당신의 프로젝트가없는 상상 그 중 많은.
대부분의 개발자는 일반적으로 build
실제 빌드 프로세스가 실행되는 프로젝트에 디렉토리를 가지고 있습니다. 그래서, 모든 실행 파일, .o
, .so
, .a
, 등이있다이 빌드 디렉토리는에 추가됩니다 .gitignore
.
ELF 실행 파일을에 자동으로 추가하는 스크립트를 작성했습니다 .gitignore
.
git-ignore-elf
:
#!/bin/sh
set -eu
cd "$(git rev-parse --show-toplevel)"
file=.gitignore
new=$file.new.$$
(
if [ -e "$file" ]; then
cat "$file"
fi
find . -name .git -prune -o -type f ! -name '*.o' ! -name '*.so' \
-print0 | xargs -0 file | grep ': *ELF ' | sed 's/:.*//' |
sed 's,^./,,'
) | perl -ne 'print if !$already{$_}++' >"$new"
mv "$new" "$file"
풍모:
- 최상위 폴더에서 찾기 시작합니다 (잘못된 기능 일 수 있습니다!).
- 일반 규칙으로 무시할 수있는 .o 및 .so 파일을 제외한 ELF 파일을 무시합니다.
- .gitignore의 기존 항목을 복제하지 않고 보존합니다.
이 단일 스크립트 버전은 다음과 같습니다. http://sam.nipl.net/b/git-ignore-elf-1
다음은 같은 위치의 다른 스크립트 (git-root, find-elf, uniqo)에 의존하는 더 모듈 식 버전입니다. http://sam.nipl.net/b/git-ignore-elf
.gitignore
현재 디렉토리의 모든 실행 파일에서 한 번에 차이점을 생성하는 방법 :
find . -perm /111 -type f | sed 's#^./##' | sort | diff -u .gitignore -
이것은 파일에 대한 수동 변경 사항을 잃지 않는다는 것을 의미하는 diff를 생성합니다. 이것은 .gitignore
파일이 이미 정렬되어 있다고 가정합니다 . sed 부분 ./
은 find가 생성 하는 선행 을 제거합니다 .
실행 파일 만 무시하는 자동 방법은 없으므로 항상 파일을 수동으로 관리해야합니다.
참조 URL : https://stackoverflow.com/questions/8237645/how-to-add-linux-executable-files-to-gitignore
'programing' 카테고리의 다른 글
루트 권한 삭제 (0) | 2021.01.15 |
---|---|
Python 실행 파일 : py2exe 또는 PyInstaller? (0) | 2021.01.15 |
원격 거부 된 마스터-> 마스터 (사전 수신 후크 거부 됨) (0) | 2021.01.15 |
유닉스 내림차순 정렬 (0) | 2021.01.15 |
git log 하나의 커밋 ID 만 표시 (0) | 2021.01.15 |