Code.camp/Codecamp

git 초간단 포스팅

Jayy 2022. 11. 6. 17:36

처음 코딩을 시작하게 되면 무조건 git 이라는 문제와 마주치게된다.

전공자들의 입장은 어떨지 모르지만 비전공자 입장에서 git 은 진짜 어렵고 헷갈린다.

사실 기본개념 자체는 그닥 어렵지않다. 

문서작업에 대입해보면 되는데, 문서작업의 경우에는 다른이름으로 저장해서 파일을 2개 만들어 놓지 않는이상

같은 파일에 계속 덮어쓰기 후 저장이 진행되어 이전 버전을 찾을 수 없다.

예를들면, 오늘 오후 3시까지 작업하고 저장한 문서가 있다. 이 문서를 오후 5시까지 작업을 한 뒤 저장을 하면 

오후 3시에 작업하고 저장한 문서는 다시 불러올 수가 없게 된다. 코드도 마찬가지로 적용되는데, 

이를 방지하여 오후3시버전과 오후 5시 버전을 관리할 수 있게 해주는것이 git이다. 

아주 쉬운개념이지 않은가? 하지만 사용법은 상당히 복잡하다. 

 

Github에 가입하고 Repository를 생성하고 토큰을 발급받는 부분은 어렵지않으니, 다른 포스팅을 참고하기 바란다.

이 부분이 선행되어야 git을 사용할 수있다.

 

 

 Git 설치                                                                                                                            

필자는 리눅스 우분투를 사용하기 때문에, 우분투 버전으로 설명을 하고 Github를 사용한다. 윈도우나 맥을 쓰는 사람들은 다른 설치 포스팅을 찾아보는걸 추천한다.

1. 터미널을 열어 sudo apt-get install git 를 입력하여 패키지 리스트를 업데이트를 진행한다.

2.  sudo apt install git를 입력하여 git 설치를 진행한다.

3. git --version 을 입력하여 정상 설치가 되었는지 확인한다. version이 나오면 정상설치가 된 것.

4. git config --global user.name [이름]

    git config --global user.mail [메일 주소]

    을 차례로 입력해서 내 정보를 입력한다. 이름 부분에는 github 이름을 넣고 메일주소는 github에 나와있는 메일주소를 입력해주      면 된다.

 

일단 여기까지 완료하면 설치는 완료되었다고 볼 수 있다.

 

Git 개념/ 명령어/ 업로드 순서

 

commit 

버전의 부모 버전으로 이 버전에서 브랜치를 두어 파생시킬 수 있다.

예를들어 5명이 모여서 A버전을 작업한다고 할때, 부모버전을 A로 두고 브랜치를 5갈래로 나누어서 동시에 코딩을 하는 것이다.

1명은 A-1버전, 다른 한명은 A-2버전 이런식.

 

branch

commit의 요소를 모두가지고 commit의 편집내용을 다 가지고 있는 버전이라고 보면된다. 쉽게 얘기해서

commit을 다른이름으로 저장해서 열어놓은 버전이다.

 

merge 

branch를 다시 하나의 commit으로 합쳐주기 위한 명령어이다.

여러명이 각각의 branch에서 작업 후 다시 하나의 버전으로 만들기위해 필요하다고 보면된다.

 

git add .

파일을 임시저장한다는 뜻이고 . 는 전체파일을 의미한다. 

만약 특정파일만 업로드를 하려면, git add  <파일/디렉토리 경로>를 입력하면 원하는경로에있는 파일만 저장할 수 있다.

 

git commit -m '이름'

커밋 파일을 확정 저장하고 Repository안의 설명란에 상세 내용을 입력해주는 것이다.

 

git push origin 브랜치이름

VSC 기준 좌측하단에 현재 브랜치 명이 표기되는데 그 브랜치명을 브랜치이름부분에 입력해주면된다.

ex) main, master  

Github에 진짜로 업로드 시키는 과정이다.

 

git branch 브랜치명

위에 언급한 branch를 만드는 명령어인데, 브랜치명을 입력해주면 branch 가 생성된다.

 

git checkout

현재 버전을 선택하는 명령어이다. 예를들면 A란 commit 이 있는데,

A-1이라는 브런치를 만들어냈다. 그 후 git checkout A 나 git checkout A-1 등의 명령어를 입력하여 해당 commit 으로 이동할 수 있다. 이게 왜 중요하냐면, 업로드할때 해당 commit 이 업로드 되기 때문이다. 

 

git merge

branch를 합쳐주기위한 명렁어이다.

 

git remote add 주소

주소 부분에 Github 에 생성된 Repository의 주소를 넣어주면 해당 Repository로 연결된다. 

앞으로 업로드를 하게되면 그 주소로 업로드가 되는 것이다.

 

git remote -v

현재 연결된 원격저장소를 확인할 수 있다.

 

git pull 과 git clone

두 명령어 특정 주소에 있는 내용을 내 컴퓨터로 불러오는 역할을 한다. 하지만 두 명령어에는 차이점이 있다.

git clone은 로컬 저장소의 내용이 원격 저장소의 내용과 일치해진다.

git pull은 원격 저장소의 내용을 가져와 현재 branch와 merge해준다.

고로, 처음에 코드를 가져올땐 clone을 쓰고 내가 작성한 코드를 유지하면서 최신버전으로 업데이트를 하고싶다면

pull을 쓰도록하자.

 

업로드 순서

 

VSC나 여타 다른 코드 편집기를 열어 ( 컴퓨터 내 터미널을 활용해도 된다)

해당 폴더에 접속한다. 최초 설치는 git init 이라는 명령어를 입력해주면

해당 폴더에 .git 이라는 폴더를 생성한다. 

주의할 점은 .git 이 존재하는 폴더에서는 git init 이라는 명령어를 입력하면 안된다. 

.git 폴더가 초기화되어 문제가 생길 수 있다.

git init  이라는 명령어를 입력하고나서 ls -al 이라는 명령어를 입력하면 .git 이라는 폴더가 보일 것이다.

이때 git status를 입력하게 되면, 현재 상태를 볼 수 있다. 추적하는 파일, 추적하지않는 파일 등 여러가지가 있을 텐데

그 파일들이 모두 Github에 업로드 되는 것 이다.

그 후 git remote add 주소를 이용하여 본인의 Repository 에 연결한다.

 

코드를 다 작성했다고 가정해보자.

작성 된 파일에 git add . 라는 명령어를 입력하면 Local 컴퓨터내에 임시적으로 저장된 상태가 된다.

그 후 입력하는 git commit 명령어로 저장을 확정짓게 되고, 

git push origin 브랜치 이름 을 통해 git hub에 파일을 push(올려주는) 역할을 수행한다.

 

나도 아직 명령어들을 익숙하게 다루지 못하므로 설명이 틀릴 수 있다.

하지만 나한테 너무 어렵게 느껴졌던 부분이므로 최대한 쉽게 설명하려고 노력했다.

앞으로 git 사용이 많아지면 더 능숙해지고 틀린 부분을 알아낼 수 있을 것이므로 지속적으로 포스팅을 수정하도록하겠다.