중요한 키값이나 개인정보(?)등의 유출을 방지하기 위한 .gitignore 생성을 아주 쉽게!!! 할 수 있는 방법을 배우게 되었다 ☺️
먼저 프로젝트를 만들 때 Create Git repository on my Mac
에 체크한다.
깃 리포지토리가 없는 프로젝트라면,
Source Control
에서도 생성할 수 있다.
프로젝트를 클릭하고 command + N
을 누르거나,
위 스크린샷처럼 프로젝트 오른쪽 마우스 클릭 - New File 선택
밑으로 쭉쭉 내리다보면 처음보는..ㅎㅎ Empty 템플릿이 있다
선택 후 Next
파일명을 .gitignore
라고 적는다. 점 꼭 붙여야 한다!
Group도 내부 폴더가 아닌, 앱 모양(?) 프로젝트 폴더 자체인지 확인!
위치 중요하다!!!
확인이 됐다면 Create를 누른다!
점(.)으로 시작하는 파일명은 숨겨질 거라는 메시지다.
Use "."
선택!
이렇게 .gitignore
가 생성된 것을 볼 수 있다..!
이제 이 .gitignore
에 작성을 해 보자.
예를 들어 나는 API Key들
을 담을 구조체를 작성할 APIKey.Swift
파일을 만들 예정이고,
이 파일이 커밋되지 않도록 미리 방지하고 싶다고 가정해 보쟝
❗️파일을 만들기 전! .gitignore
에 확장자명까지 똑같이 적어 놓는다
이제 APIKey.swift
를 생성해 보자
Swift File 템플릿을 선택하고
APIKey.swift
를 생성한다
APIKey.swift
옆에 A
가 안 뜨는 것을 확인할 수 있다.
git의 추적을 받지 않고 있음!!
APIKey.swift
는 커밋창에서도 아예 뜨지 않는 것을 볼 수 있다 :)
(커밋창 여는 단축키는 option + command + C
)
.gitignore
에 파일명을 잘 적었다면, 이렇게 경로를 바꿔도 gitignore 적용이 된다!
파일을 .gitignore
에 등록하는 방법을 알아 보았다,,
이제 폴더도 등록해서 폴더 자체를 보호(?)해 보자!
Keys
라는 폴더를 프로젝트의 내부 폴더(GitTest
) 안에 만들 것이라고 가정을 해 보쟝
폴더 경로를 위와 같이 .gitignore
에 작성한다
이제 Keys 폴더
를 GitTest 폴더
안에 만들고, Keys 폴더
안에 파일을 만들어 보자
GitTest/Keys 폴더
안에 어떤 파일을 만들든지 A
가 뜨지 않는다.
커밋 창에서도 안 뜸!
하지만 .gitignore
에 등록하지 않은, 이 A
가 뜨는 Model.swift
를 Keys 폴더
안으로 옮긴다면..?!
A
가 뜬다....^^
커밋 창에도 뜬다 ^__^...
그럼 .gitignore
에 작성한 Keys 폴더
에 생성했던 파일들을, Keys 폴더 바깥
으로 빼면 어떻게 될까?
놀랍게도 A
가 뜨지 않는다..!
커밋창에도 파일은 안 뜨지만, 옮긴 New Group 폴더
옆에는 ?
물음표가 떠 있다.
얘도 헷갈리나봄..?
체크해서 커밋을 해 보겠다,,
커밋이 되었다....^__^
.gitignore
에 작성한 파일
은 어디로 이동하든 추적이 되지 않는다..gitignore
에 작성한 폴더
는, 파일 생성 시 그 폴더 내
에 생성하지 않았다면, 나중에 그 폴더 내부로 옮기더라도
해당 파일은 추적 방지 불가.gitignore
에 작성한 폴더 내
에 생성한 파일
은, 해당 폴더를 벗어나면
추적 방지 불가이렇게 숨기고 싶은(깃의 추적을 피하고 싶은) 파일명을 항상
.gitignore
에 먼저 작성해야 한다.
파일을 먼저 만들고.gitignore
에 작성하면 나중에 처리할 것들이 많아지기 때문에,,
항상.gitignore
에 먼저 작성하기..!