TIL 7 | [Git & Github] 프로젝트 생성과 Git 관리 시작

Yoonsik·2022년 3월 2일
0

Git & Github

목록 보기
2/7

📄 프로잭트 생성과 Git 관리

Git을 사용하는 두 가지 방법 - CLI와 GUI

  • CLI - Command Line Interface 명령줄을 입력해서 사용하는 인터페이스이다. Ex) 터미널, Git Bash
  • GUI - Grapic User Interface 일반인 사용자들이 이용하기 편하도록 그래픽 요소를 활용한 인터페이스이다. Ex) source tree

우리는 둘을 어떻게 사용하는 것이 좋을까?

Git에서 뭔가를 실행하기 위한 어떤 명령들을 사용할 때는 CLI를 사용하고, 프로젝트의 상태를 Git상에서 자세히 살펴보아야 할 때는 소스트리(GUI)를 사용합니다 - 얄팍한 코딩사전

이처럼 둘을 혼용해서 사용하는 것이 효율적인 방법이다. 당장 명령을 내리는 것은 명령줄을 입력해서 사용하는 인터페이스인 CLI를 이용하고, 프로젝트의 상태를 Git상에서 시각적으로 살펴보기 위해서는 그래픽 요소를 활용한 인터페이스인 GUI를 사용하는 것처럼 말이다.

Git Bash와 Source tree 실습

먼저 적당한 위치에 원하는 이름으로 폴더를 생성하고, VS Code에서 해당 폴더를 연다.
터미널에서(Git Bash 사용) git init 명령을 실행한다.

그러면, 다음과 같이 해당 폴더에 숨김파일 형태로 .git이라는 폴더가 생성된다.

이 .git폴더에는 Git이 프로젝트를 관리한 내역들이 들어가게 된다. 예를 들어 이 새롭게 만든 폴더(git init 을 실행한 폴더) 이름이 git-practice라면, git-practice 폴더는 Git으로 관리되고 있는 폴더이다.
만약, git-practice폴더 안에 생성된 .git폴더가 지워지게 된다면 현재 파일들은 유지되지만, 지금까지 git-practice 폴더에서 Git이 관리한 내역들은 모두 사라지게 된다.(삭제 전 시점까지의 이동하고 싶은 여러 변경사항들로 되돌아갈 수 없게 됨 조회 불가능 !)

현존하는 저장소 추가 (로컬 저장소 추가)

자, 그럼 소스트리를 활용해 보자. 현재 git-practice파일은 Git으로 관리되고 있는 파일, 즉 현존하는 저장소이다. 그러므로 소스트리에 로컬 저장소 추가를 하거나 드래그 하는 방식으로 추가한다.

Git이 관리하는 저장소 새로 만들기 (로컬 저장소 생성)

일단 로컬 저장소에 저장되어 있는 git-practice의 북마크를 삭제하고, git-practice안의 .git폴더를 삭제하였다. 이제 git-practice폴더는 Git으로 관리되고 있는 폴더가 아니다.

이러한 폴더는 소스트리에 드래그하거나, 로컬 저장소 생성을 통해 Git이 관리하는 저장소로 만들 수 있다.

그리고, git-practice 폴더에 들어가보면 .git폴더가 생긴 것을 확인 할 수 있다.

Git의 관리에서 특정 file / forder를 배제하는 법

Git의 관리에서 특정 파일이나 폴더를 배제해야 하는 다양한 경우들이 있다. 이를 크게 2가지로 나눠보면 다음과 같다.

1) Git의 관리에 포함할 필요가 없을 때

  • 자동으로 생성 또는 다운로드되는 파일들 (빌드 결과물, 라이브러리)

2) Git의 관리에 포함해서는 안될 때

  • 보안상 민감한 정보들을 담은 파일

이러한 Git의 관리에서 배제해야 할 요소들은 .gitignore이라는 파일에 따로 지정하여 Git이 무시하고 넘어가도록 할 수 있다.


💻실습

먼저, 프로젝트 폴더 git-practice에 중요한 정보(Ex 아이디와 패스워드)가 담겨있는 secret.yaml 파일을 생성하였다.

터미널에 git status 명령을 사용하여 Git이 관리하게 될 파일들을 조회해 보면, secret.yaml 파일 또한 포함되어 있는 것을 볼 수 있다.

하지만, 이 파일은 중요한 정보가 담겨져 있는 파일이기 때문에 Git의 관리에서는 배제하고 싶다. <- 이럴때 .gitignore파일을 생성하여 배제하고 싶은 파일이나 폴더를 지정하여 Git이 무시하고 넘어가도록 한다.

위와 같이 .gitignore에 중요한 정보가 담긴 파일 secrets.yaml을 지정한 뒤, 터미널에서 git status명령을 실행해 보면, secrets.yaml 대신 .gitignore이 표시되는 것을 알 수 있다.

profile
꾸준함의 힘

0개의 댓글