1. git bash에서 user.name과 user.emali 설정하기
설정하는 이유?
- 어떤 사람이 어떤 작업을 했는지 알기 위해서(github 계정과는 별개)
git config --global user.name "(본인 이름)"
git config --global user.email "(본인 이메일)"
위의 명령어로 설정 후 아래 명령어로 설정이 되었는지 확인할 수 있다.
git config --global user.name
git config --global user.email
2. git init
프로젝트를 시작하고 소스 코드를 Git으로 관리하고자 한다면 먼저 git init으로 저장소를 초기화해야한다.
사용법은 저장소로 사용하고자 하는 디렉터리로 이동한 다음 git init을 인자없이 실행하면 된다.
본인은 git_practice 디렉토리를 만든 후 git init을 한 다음에
디렉토리 안에 파일(tigers, lions)을 생성 + 저장한 뒤 git status 명령어로 상태를 확인했다.
여기서 중요한 것은 먼저 저장소로 사용할 디렉터리로 이동해야한다는 점이다.
이 때 디렉터리에 파일의 존재 유무는 중요하지 않으며, Git 저장소를 초기화하더라도 디렉터리에 있는 내용을 자동으로 Git 저장소에 추가하지는 않기 때문에 빈 저장소로 초기화되는 것은 같다.
빈 디렉토리를 하나 만들고 git status 명령어로 Git 저장소 디렉터리가 아닌 것을 확인해보면 에러가 발생한다.
에러메시지 : fatal: not a git repository (or any of the parent directories): .git
아직 git init을 실행하지 않았기 때문에, 위와 같이 Git 저장소가 아니라는 에러 메시지가 출력되며 이 메시지에서 중요한 힌트를 얻을 수 있는데, Git 저장소는 .git 디렉터리로 관리된다는 것이다.
3. git status
git 상태를 알려주는 명령어로 디렉토리를 git이 관리하고 있는지
또는 디렉토리 안에 있는 파일들이 삭제가 되었는지 추가가 되었는지 변경이 되었는지를 알려준다.
4. .gitignore
.gitignore 파일을 사용해서 배제할 요소들을 지정할 수 있다.
보통 자동으로 생성 또는 다운로드되는 파일들 (빌드 결과물, 라이브러리)이나 보안에 민감한 파일을 배제시킨다.
secrets.yaml 파일을 생성 + 저장한 후 git status 명령어로 확인을 해보면 git이 관리하고 있다는 것을 확인할 수 있다.
secrets.yaml 파일을 배제시켜보자!
.gitignore 파일을 생성한 뒤 파일 안에 배제시킬 파일인 secrets.yaml을 입력 후 저장을 한 다음에 git status 명령어로 확인해보면 yaml 파일 2개와 .gitignore 파일이 나오는 것을 확인할 수 있다. 즉, .gitignore 파일에 있는 것은 배제시키는 파일 묶음이라고 생각하면 된다.
.gitignore에 파일명을 직접적으로 쓸 수도 있지만 여러 형식을 사용해서 원하는 폴더 또는 원하는 확장자, 확장자 중에서도 예외발생하기 등을 할 수 있다.
https://git-scm.com/docs/gitignore
Git - gitignore Documentation
The optional configuration variable core.excludesFile indicates a path to a file containing patterns of file names to exclude, similar to $GIT_DIR/info/exclude. Patterns in the exclude file are used in addition to those in $GIT_DIR/info/exclude.
git-scm.com
'Git,GitHub' 카테고리의 다른 글
[Git] 기존 Project에 버전 관리에 포함되어 있는 파일 명령어로 삭제 (0) | 2022.07.18 |
---|---|
[GitHub] GitHub_#2 (0) | 2022.06.12 |
[GitHub] GitHub_#1 (0) | 2022.06.07 |
[Git] Git_#3 (0) | 2022.06.07 |
[Git] Git_#2 (0) | 2022.06.07 |