본문 바로가기
dev/Git GitHub

Git 사용방법 - 기초

by masankong 2023. 3. 1.

 

https://www.youtube.com/watch?v=1I3hMwQU6GU   

* 아래 영상을 보면서 적은 요약본 입니다.

Git 이론 /실무 학습한 영상

 

코딩을 하려면 필수소양이라는 Git! 왜 필수일까?

Git은 VCS(version Control System)란 종류의 프로그램들 중 하나이다. 즉, 프로그램의 버전 관리를 위한 툴!

 

Git은 시간여행과 차원이동을 할 수 있는 능력을 가지고 있다. 이런 능력을 가지고 있는 Git은 다른 개발자들과 큰규모에서 협업할 경우 효율적으로 사용된다.

시간여행 능력

보통 프로그래밍을 하다보면 계속해서 새 V(버전) 이 나오게 되는데 이전 버전으로 돌아가야 하는 상황들이 종종 발생한다. 

Git은 버전마다 압축해서 각각 모든 버전들을 저장하면서 용량을 늘릴 필요없이 모든 버전 관리가 가능하며 특정 버전에 오류가 발생할 경우 일일이 찾아볼 필요 없이 해당 부분만 오류가를 간편하게 수정할 수 있다.

 

차원이동 능력

Git은 새로운 테스트를 위해 메인 파일을 복사한 뒤 테스트를 진행하고 변경사항들을 바뀐 부분만 메인 프로젝트에 변경할 필요가 전혀 없다. 프로젝트의 내용들을 각각 다른 파일인것 처럼 여러 보드로 자유롭게 전환하고 변경사항들을 쉽게 이동할 수 있다.

 

 

Git 설정 - mac 기준

1. Git 전역으로 사용자 이름과 이메일 주소 설정

어떤 작업들을 누가 했고 어떻게 연락할지를 알기 위해 적는 역할

*터미널을 실행 후 아래 명령어를 입력 

--global 은 전역 설정한다는 뜻으로 전반적인 Git의 기본 설정으로 세팅된다는 뜻 (프로그램마다 다르게 설정 가능) 

git config --global user.name "(본인 이름)"
git config --global user.email "(본인 이메일)"

*입력 후 잘 처리 됐는지 확인하는 명령어

git config --global user.name
git config --global user.email

 

2. 기본 브랜치명 변경

기본 브랜치명 변명 기본적으로 'master'로 설정되어 있는데 이는 옛날의 노예제를 연상시키는 단어라 요즘 다른것으로 대체시키는걸 권장하고 있어 GitHub도 주 브랜치 이름을 master 에서 main으로 변경하였다. 앞으로 작업에 충돌을 방지하기 위해 브랜치명을 main으로 변경하는 것이 좋다

*브랜치명 main으로 변경하는 명령어

git config --global init.defaultBranch main

 

3. Git 관리시작

Git 파일들을 관리하기 위한 새로운 폴더를 만든 후 만들어진 폴더를 Git이 관리하라는 명령어를 입력해야한다 아래 이미지 처럼 폴더입력 옆에 명령어를 입력하면 된다
* 나는 유튜브 강의에서 처럼 vs code 로 해당 폴더를 연 후 vs code 내장 터미널에서 명령어를 입력했다.

나는 멋쟁이 사자처럼 안에 GitHub 폴더를 만들었다

*Git관리 명령어

git init

실행된 모습

실행이 완료된 후 폴더에 들어가보면 .git 숨겨진 파일이 만들어진걸 볼 수 있다. Git으로 프로젝트를 관리하는 내역들이 저 폴더 안으로 들어가게된다.

숨김 파일 형태로 만들어진 .git

 

4. 만들어놓은 폴더에 새로운 파일 추가 - vs코드에서 실행중

유튜브 강의에서 나온대로 내가 Git으로 관리하기로 지정한 폴더에 새로운 파일들을 만든다.

lion, tiger 두 파일 생성 (원하는대로 파일을 만들어도 상관 없을듯)

이후에 저장을 하고 vs코드 내장 터미널에 현재 git 폴더의 상태를 확인하는 명령어를 입력한다.

그럼 아래처럼 방금 추가한 lion, tiger 파일이 빨간색으로 나타나는걸 볼 수 있다. 이는 새로운 파일들이 보이는데 이를 관리할까요? 라고 물어보는 거랑 같다. 

- No commits yet (아직 커밋이 없습니다): 커밋 = 버전

- Untracked files(추적하지 않는 파일): 아직 git 관리하지 않은 파일

 

지금 상태는 파일을 저장만 했을뿐 .git 관리저장소(?) 에는 넣지 않은 상태이다.

git status

저는 vs code 한글버전 플러그인을 깔아서 한글로 뜹니다.

 

5. 프로젝트트의 변경사항들을 (타임캡슐에)담기

이제 변경된 파일들을 .git 관리소에 넣기위해 명령어를 입력해야한다.

*파일 하나 담기

git add tigers.yaml

*파일 모두 담기

git add .

담기는 완료! 커밋은 아직..!

위의 명령어를 입력한 후 상태를 확인해 보면 

Untracked files(추적하지 않는 파일)   >  Changes to be committed(커밋할 변경 사항) 으로 변경된걸 볼 수 있다.

일단 변경된 내용들을 타임캡슐에 담아만 놓은 상태이다.

 

 

6. 변화가 담긴 (타임캡슐을) 파일을 (묻기)커밋

Git 에서 어떤걸 commit 한다는 것은 새로운 버전을 만드는것과 같다 이제 변경사항들을 담은 것을 커밋해보자

*커밋 메시지와 함께 입력해서 묻는 명령어

git commit -m "FIRST COMMIT"

commit 을 하고 난 후 다시 상태를 확인해 보면 변경사항이 없다는 걸 확인할 수 있다.

 

 

7. commit 의 히스토리 조회

*커밋 히스토리 조회 명령어

git log

commit 옆의 일렬번호는 각각의 commit 들이 가지고 있는 고유번호 이다.

log 가 굉장히 길게 뜨게 되는데 q를 누르면 밖으로 빠져나올 수 있고 j 는 위, k 는 아래로 이동할 수 있다.

 

 

 

+ 저장소에 무시할 파일 설정하는 방법

git add . 으로 파일을 담기 전에 담지 말아야할 파일들을 배제하는 경우가 종종있다.

  • 포함할 필요가 없을때
  • 포함하지 말아야 할 때 (보안상 민감한 정보들 ex: 개인정보, 아이디, 비밀번호)

이럴때 지정할 수 있는 방법이 .gitignore 파일이다.

secrets.yaml 파일과 .gitignore 파일 생성
.gitignore 파일에 secrets.yaml 파일을 넣고 저장

위의 과정을 거친 후 상태를 확인하게 되면 secrets.yaml 파일은 나타나지 않는다 담기에서 배제됐기 때문이다.

배제된 secrets.yaml 파일

 

 

github 에 파일을 업로드하고 가져올 준비를 대강 마친 지금! 다음글을 통해서 github 사용방법을 확인해보세요!

2023.03.01 - [dev/Git GitHub] - GitHub 사용방법 - 기초

댓글