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를 하고 싶은 파일을 입력합니다. 

root 경로에 .gitattributes 생성

적용된 것 확인 

그리고 '.gitattributes'를 commit하면 encrypt하고자 한 파일에 내용 변경은 없지만 modified가 됐음을 확인할 수 있습니다. 
이 파일 또한 commit하고 나서 remote branch에 푸시하면 아래와 같이 파일이 encrypt된 것을 확인할 수 있습니다. 

짜잔

Reference

[git] git-crypt

 

[git] git-crypt

git-crypt란? git-crypt를 사용하면 특정 파일 또는 폴더를 원격 repository에 올릴때는 encrypt하고, 로컬로 내려받을때는 decrypt 하는 식으로 관리할 수 있다. git-crypt repostiroy : https://github.com/AGWA/git-crypt git

joont92.github.io

git-crypt repository

 

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

에러 발생할 경우 참고 사이트

 

반응형
복사했습니다!