통합개발도구/Git & Git-Hub

2. Git

Zoo_10th 2024. 6. 5.

1. Git이란?

 - Git은 소스코드 및 파일의 변경내역을 저장하는 분산 버전 관리 시스템이다.

 - 리누스 토발즈에 의해 처음 만들어졌습니다. 리눅스 커널을 만들었다.

 - GitHub, Bitbucket, Gitlab 등의 Git 기반 버전 관리 호스팅 서비스들이 있다.

 - 공식문서

 

Git - Reference

Reference

git-scm.com

 - help 명령어

git help -a : 상세히 명령어들 살펴보기
git 명령어 -h : 명령어 옵션 보기
git help 명령어 : web에서 해당 명령어 상세보기

 - git에 기본 에디터 변경

git config --global core.editor "editor이름"
git config --global core.editor "code --wait" #VSC를 기본 에디터로 설정, 
wait을 해주어야 잠시 멈추었다가 VSC에 열린 code 수정 창을 닫으면 CLI가 
지속 실행되는 프로세스로 진행된다.

 - git 기본 설정 변경

git config global -e #global 설정입니다. 만지실 때 유의해주세요.

2. Git 설치하기

2-1. Ubuntu에서 설치하기

$ sudo apt-get update
$ sudo apt-get install git

2-2. Mac에 설치하기

기본적으로 Git이 설치되어 있습니다. 버전에 따라 설치가 안되어 있는 경우도 있다. 설치가 되었는지 확인하기 위해서는 터미널 창(cmd + spacebar → terminal)에 아래의 명령어를 입력한다.

$ git

usage: git [--version] [--help] [-C <path>] [-c <name>=<value>]
           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
...

1) zip파일 다운받아 설치하기

설치가 되지 않은 경우나 최신 버전의 git을 설치하고 싶은 경우 아래의 순서대로 진행한다.

https://git-scm.com/ 접속한다.

② Download for Mac 버튼을 클릭한다.

③ 다운 받은 파일을 실행한다.

 - 맥북 사용하시는 분들 중 missing xcrun 오류 뜨시면 아래 글 참고하세요

 

Mac 업그레이드 후 xcrun: error: invalid active developer path 에러 해결하기

MacOS 업그레이드 시 어김없이 발생하는 문제가 하나 있습니다 😫 바로 개발 관련 도구 사용 시 대다수가 발생하는 missing xcrun 에러인데요.

www.hahwul.com

2-3. Windows에서 설치하기

1) https://git-scm.com/ 접속한다.

2) Download for Windows 버튼을 클릭하면 아래와 같은 페이지가 열리는데 Click here to download를 클릭 Portable은 무설치 버전이다.

3) 다운 받은 파일을 실행한다. (설치 옵션 중 기본 브랜치를 main으로 바꾸는 옵션이 있다. 이미 Git을 어느정도 숙지하신 분이라면 아래 것을 클릭해서 진행해주세요.)

3. 버전 확인 및 초기 설정

1) 버전 확인

 - 다운 받은 Git 버전을 확인할 수 있다.

$ git --version
git version 2.37.3

2) 초기 설정

 - 사용자 정보를 설정한다. 설정을 제대로 했는지 확인하기 위해서 list 명령어를 사용할 수 있다. (get 명령어를 사용하여도 된다.)

 - 해당 절차를 진행하지 않으면 뒤 PUSH가 안될 수 있다.

$ git config --global user.name "gildong.hong"
$ git config --global user.email email@example.com
$ git config --list
$ git config --get user.name
$ git config --get user.email

이때 email 설정과 username 설정을 제대로 안해주면 커밋 내역에서 계정이름이 아닌 유저 이름이 올라갈 수 있다.

 - GitHub을 먼저 가입하였다면 GitHub에 있는 주소로 해야한다. 이 챕터에서 GitHub에 가입하시지 않았어도 진행하는데 무리가 없다. 사용하는 이름과 이메일을 입력하면, 이는 협업할 때 누가 작업했는지를 나타낸다.

 - VisualStudioCode에서 사용하는 것이라면 Ctrl + Shift + P를 눌러 Terminal: Select Default Profile을 git bash로 변경

4. 저장소 만들기

 - 작업할 디렉토리를 만들고(mkdir) 생성한 디렉토리로 이동(cd)

$ mkdir git-test
$ cd git-test

 - 현재 디렉토리를 Git 저장소로 만들어 원하는 디렉토리를 기준으로 버전 관리를 한다.

$ git init

 - git init을 입력하면 해당 폴더를 기준으로 .git(로컬 저장소)가 생성된다. 로컬 저장소에는 버전 정보, 원격 저장소 주소가 저장된다.

※ 이때 한 폴더에는 하나의 .git(로컬 저장소)를 가져야한다. 그렇지 않을 경우 충돌이 발생할 수 있다,

5. Commit

5-1.  추가하고 커밋하기(add, commit)

 - 파일을 생성(touch), 추가(add)하고 커밋(commit)하기

$ touch README.md
$ git status # Untracked 확인
$ git add README.md
$ git commit -m "first commit"

1) git이 관리할 대상의 파일 등록하기(add)

변경한 파일 목록 중 스테이지에 올리기 원하는 파일만 선택한다. 파일 전체를 올리고 싶은 경우에는 git add 뒤에 .을 입력한다(git add .). 이 때, 스페이스 바가 한 칸 들어가야 한다.

$ git add README.md // 지정 파일 올리기
$ git add . // 파일 전체 올리기

Untracked → Unmodified → Modefied → Staged

            |—————— git add ———————→|

                             | ←——— git commit ——|

2) 버전 만들기 (commit)

$ git commit -m "저장 메세지를 입력해주세요"

5-2. 상태 확인하는 방법 (status , diff , log)

1) 파일 상태 확인하기

$ git status

파일의 상태에 따라 Untracked 와 Tracked 로 분류된다.

 ① Untracked(관리 대상이 아님)

   - 파일 생성 후 한번도 git add하지 않은 상태를 말한다.

 ② Tracked(관리 대상)

   - Unmodified : 최근의 커밋과 비교했을 때 바뀐 내용이 없는 상태

   - Modified : 최근 커밋과 비교했을 때 바뀐 내용이 있는 상태

   - Staged : 파일이 수정되고 나서 스테이지 공간에 올라와 있는 상태이며, git add 후의 상태

2) 변경사항 확인하기

add 하기 전 최근 commit한 내용과 현재 폴더의 변경사항을 확인할 수 있다.

$ git diff

3) 커밋(commit) 히스토리 조회하기

$ git log

git log 명령어를 입력하면 최근 커밋한 히스토리를 확인 할 수 있다.  로그가 길 경우 q를 누르면 밖으로 빠져나온다. j와 k는 아래로 이동할 수 있다.

5-3. 저장소에 무시할 파일 설정하는 방법

1) 무시할 파일 (gitignore) 추가 하기

 ① .gitignore 사용하기

push 전 .gitignore 파일에 버전 관리에서 제외할 파일을 추가한다.

# a comment - 이 줄은 무시한다.
# 확장자가 .a인 파일 무시
*.a
# 윗 줄에서 확장자가 .a인 파일은 무시하게 했지만 lib.a는 무시하지 않는다.
!lib.a
# 루트 디렉토리에 있는 TODO파일은 무시하고 subdir/TODO처럼 하위디렉토리에 있는 파일은 무시하지 않는다.
server/node_modules
# build/ 디렉토리에 있는 모든 파일은 무시한다.
build/
# `doc/notes.txt`같은 파일은 무시하고 doc/server/arch.txt같은 파일은 무시하지 않는다.
doc/*.txt
# `doc` 디렉토리 아래의 모든 .txt 파일을 무시한다.
doc/**/*.txt

 

② .gitignore 자동 생성기 활용하기

.gitignore 파일을 직접 생성해야 하는 경우가 종종 있다. 이 때, 라이브러리와 프레임워크를 사용하는 경우에는 어떤 파일을 깃 버전 관리에서 제외 시켜야 하는지(.gitignore파일에 넣어야 되는지) 헷갈리는 경우가 있다. 혹은 일일이 작성하기 번거로운 경우도 있다. 이럴 때 편하게 사용할 수 있는 툴인 gitingnore.io 를 활용하면 된다.

 

gitignore.io

Create useful .gitignore files for your project

www.toptal.com

 - .gitignore 사용 방법

    ⓐ 접속 후 본인의 프로젝트에서 사용하는 운영체제, 개발 환경, 기술 스택을 작성한다.

     ⓑ 생성 버튼을 눌러 내용을 생성한 후 전체 내용을 복사하고 .gitignore파일에 추가한다.

728x90

'통합개발도구 > Git & Git-Hub' 카테고리의 다른 글

6. Pull Request  (0) 2024.06.07
5. Fork  (0) 2024.06.07
4. Branch  (1) 2024.06.07
3. Git-hub  (0) 2024.06.07
1. Git & GitHub 기본 개념  (0) 2024.06.05

댓글