컴퓨터 과학/[인프런: 얄팍한 코딩사전] Git & GitHub

Chapter 01. Git 시작하기

계란💕 2022. 6. 2. 22:38

1.4 CLI vs GUI

  - CLI(Command Line Interface): 명령줄을 입력해서 사용한다.

  - GUI(Graphic User Interface): 일반인 사용자들이 사용하기 편하도록 그래픽 요소를 활용한 인터페이스

    -> Git은 소스트리를 이용해서 GUI를 사용하거나 또는 터미널이나 Git Bash로 CLI를 사용할 수도 있다.

    -> 프로젝트의 상태를 자세히 볼 때는 소스트리를 사용한다. /  당장 명령 내일 때는 CLI

 

 

1.5 GIT 설정 & 프로젝트 관리

  1) git 최초 설정

    - Git 전역으로 사용자 이름과 이메일 주소를 설정한다.

    - 터미널 프로그램(git bash)에서 아래 명령어 실행한다.

git confog --global user.name "이름"
git confog --global user.name "이메일주소"

 

  - 기본 브랜치명 변경

git confog --global init.dafaultBranch main

 

  2) 프로젝트 생성 & Git 관리

    - 빈 폴더Git_practice를 하나 만들고 Visual Code로 연다.

    - 터미널에 git init 입력

      -> 이 폴더를 Git이 관리하는 명령이다.

      -> 그러고 나서, 폴더를 들어가면 .git이라는 숨김 폴더가 있다. 

      -> 앞으로 깃이 프로젝트를 관리하는 내역이 이 폴더에 저장된다. (이 폴더를 지우면 Git 관리 내역이 삭제 된다. 현 파일은 유지되지만 과거로 돌아갈 수 없다.)

 

  - lions.yaml과 tigers.yalm 두 가지 파일을 저장한다.

  - 그 다음, git status를 입력하면 아래와 같이 볼 수 있다.

      -> git status: 현재 폴더의 상황을 git의 관점에서 보여준다.

 

  3) 소스트리로 해보기

    - git_practice 폴더를 아래와 같이 드래그해서 가져온다.

    - 폴더를 선택해서 들어가면 두 가지 파일이 보인다.

 

    - 위 창을 닫고 새로운 창을 열어서 북마크를 제거한다.

 

    - .git 폴더를 삭제한다.

      -> 그러고 나면 해당 폴더는 Git이 관리하지 않는 상태가 된다. 

 

    - git status를 입력하면 git repository가 아니라는 메시지가 뜬다.

      -> 깃이 관리하지 않는다는 뜻이다.

 

    - 소스트리 창에서 아래와 같이 create한다. 알림창 "예" 선택

 

    - 그러면 아래와 같이 다시 .git 폴더가 생긴 것을 볼 수 있다.

 

  Note) CLI로 위 작업을 한다면?

       -> 터미널을 열고 git init을 입력한다. (이 작업은 CLI로 하는 게 훨씬 간단하다.)

 

 

1.6 Git에게 맡기지 않을 것들

    ex) 포함할 필요가 없을 때, 자동으로 생성 또는 다운로드 되는 파일들 (빌드 결과물, 라이브러리) - 괜히 용량만 차지

          포함하지 말아야 할 때, 보안상 민감한 정보를 담은 파일

 

     - 아래와 같이 secret.yaml 파일을 만든다.

      -> 그 다음 git status를 입력하면 세 가지 파일이 모두 뜬다.

      -> 그런데 이 secret파일을 git이 무시하도록 만드려면?

 

     - 새로운 파일 .gitignore를 생성하고 아래와 같이 저장한다.(깃으로부터 배제시킬 파일의 이름을 입력)

 

    - 다시 git status로 확인하면 아래와 같이 보인다. (더 이상 깃이 secret을 관리하지 않는다.)

 

  Note) .gitignore 형식

<hide/>
# 이렇게 #를 사용해서 주석

# 모든 file.c
file.c

# 최상위 폴더의 file.c
/file.c

# 모든 .c 확장자 파일
*.c

# .c 확장자지만 무시하지 않을 파일
!not_ignore_this.c

# logs란 이름의 파일 또는 폴더와 그 내용들
logs

# logs란 이름의 폴더와 그 내용들
logs/

# logs 폴더 바로 안의 debug.log와 .c 파일들
logs/debug.log
logs/*.c

# logs 폴더 바로 안, 또는 그 안의 다른 폴더(들) 안의 debug.log
logs/**/debug.log