![article thumbnail image](https://blog.kakaocdn.net/dn/cDvKgy/btrUuYutmzh/3mVlaU5OcIUJJKLtUlECe0/img.png)
git-crypt 란?
(git-crypt repository README.md 번역)
git-crypt는 git 저장소에 있는 파일의 투명한 암호화 및 암호 해독을 가능하게 합니다. 보호하기로 선택한 파일은 커밋 시 암호화되고 체크아웃 시 해독됩니다. git-crypt를 사용하면 공개 및 비공개 콘텐츠가 혼합된 저장소를 자유롭게 공유할 수 있습니다. git-crypt는 정상적으로 저하되므로 비밀 키가 없는 개발자는 여전히 암호화된 파일이 있는 저장소를 복제하고 커밋할 수 있습니다. 이렇게 하면 전체 리포지토리를 잠그지 않고도 코드와 동일한 리포지토리에 비밀 자료(예: 키 또는 암호)를 저장할 수 있습니다.
Environment
- OS: MAC
- 에디터: VSCode
git-crypt 사용하기
git-crypt 설치
우선 git-crypt를 사용하기 위해서는 관련된 패키지를 디바이스에 다운받아야 합니다.
homebrew를 통해 git-crypt 라이브러리를 다운받습니다.
brew update
brew install git-crypt
repository에 git-crypt 적용
이제 git-crypt를 사용하고 싶은 repository 경로에 들어가서 해당 레포지토리에 git-crypt를 사용할 수 있도록 초기화 해줍시다.
cd /path/to/repository
git-crypt init
# output:
# Generating key...
그럼 해당 repository에`.git/git-crypt`에 key가 생성된 것을 확인할 수 있습니다.
encrypt할 파일 정의
자 이제 directory의 root경로에 `.gitattributes` 파일을 생성하고 아래처럼 encrypt를 하고 싶은 파일을 입력합니다.
적용된 것 확인
그리고 '.gitattributes'를 commit하면 encrypt하고자 한 파일에 내용 변경은 없지만 modified가 됐음을 확인할 수 있습니다.
이 파일 또한 commit하고 나서 remote branch에 푸시하면 아래와 같이 파일이 encrypt된 것을 확인할 수 있습니다.
![](https://t1.daumcdn.net/keditor/emoticon/niniz/large/001.gif)
Reference
[git] git-crypt
git-crypt란? git-crypt를 사용하면 특정 파일 또는 폴더를 원격 repository에 올릴때는 encrypt하고, 로컬로 내려받을때는 decrypt 하는 식으로 관리할 수 있다. git-crypt repostiroy : https://github.com/AGWA/git-crypt git
joont92.github.io
GitHub - AGWA/git-crypt: Transparent file encryption in git
Transparent file encryption in git. Contribute to AGWA/git-crypt development by creating an account on GitHub.
github.com
'그리고 > Github' 카테고리의 다른 글
[Github] GPG Key Github에 적용하기 (0) | 2022.10.25 |
---|---|
[Github] GPG Key 생성하기 (0) | 2022.10.21 |
[Github] PR merge 후 자동으로 branch 제거하기 (0) | 2022.10.19 |