[git] 깃 따라하기 1 / git repository 연결

git 은 개발자들 사이에서 많이 쓰이는 버전관리시스템(협업 툴) 중 하나입니다.

 

깃을 처음 접하다 보면.. (비전공자인 나처럼.. 코딩이 뭔지 몰라 할 줄 몰랐던 나처럼..)

git push.. commit.. repository ... 등 엄청난 용어 공격에 정신이 혼미해지죠...

그런 분들을 위해 제가 이해한 대로 내용을 구성해 보았으니 포기하지 말고 천천히 익혀보시길 바랍니다!🥺

 

 

(git 계정은 모두 생성 완료했다고 가정하고 설명하도록 하겠습니다!)


 

깃을 이용하는 방법은 여러 가지가 있습니다.

 

소스트리라는 툴을 이용하는 방법...

VS code의 Extension을 이용하는 방법...

Git 사이트 자체에서 업로드 하는 방법 등...

 

 

저는 가장 기초적이고도 쉬운 터미널, 사이트를 통해 깃을 이용하는 방법을 설명드리겠습니다.

(Mac, Linux 명령어 기반으로 설명합니다. Window 이신 분들은 git bash를 설치하여 따라해주세요😄)

 

 

먼저 깃헙 홈페이지에 접속합니다.

 

https://github.com/

 

GitHub: Let’s build from here

GitHub is where over 100 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and fea...

github.com

 

Git Repository 만들기

Git 프로필 왼쪽 상단

 

깃 프로필 왼쪽 상단을 보시면, 다음과 같이 Overview, Repositiories, Project 등등.. 이 존재합니다.

여기서 Repository 항목을 이용하면 다음과 같이 New 버튼을 통해 Repository를 생성할 수 있습니다.

 

근데, Repository 가 뭘까요?!

Git 시스템을 이해하기 위해서는 먼저 Git이 아래와 같은 구조를 지니고 있음을 이해해야 합니다.

 

git pipeline

 

git에는 두 가지 Repository 가 존재합니다. 먼저 Local Repository는 말 그대로 사용자가 현재 작업을 하고 있는 환경을 말합니다.

예를 들어 Desktop에서 work 라는 폴더 안에서 작업을 했다면, work 폴더 자체가 Local Repository가 되는 것이죠.

 

Remote Repository는 말그대로 git 서버에 올라가 있는 공간을 말합니다. 아까 위에서 Repository를 생성해주었었죠?

그렇게 웹 상에서 생성된 Repository가 바로 Remote Repository 입니다.

 

즉, 로컬 저장소에서 수정하거나 생성된 파일들을 원격 저장소를 통해 여러 사람이 함께 관리할 수 있는 것이죠! 

 

 

그럼, 내 로컬 저장소와 원격 저장소를 어떻게 연결하며 어떻게 코드를 올려보내야 하는지 알아봅시다.

 

 

 

Git 초기 설정

git 을 터미널에서 먼저 사용하기 위해서는 git 초기 설정이 필요합니다. 

https://git-scm.com/book/ko/v2/%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-Git-%EC%B5%9C%EC%B4%88-%EC%84%A4%EC%A0%95

 

Git - Git 최초 설정

Vim과 Emacs, Notepad++은 꽤 인기 있는 편집기로 개발자들이 즐겨 사용한다. Mac이나 Linux 같은 Unix 시스템, Windows 시스템에서 사용 가능하다. 여기서 소개하는 편집기들이 불편해서 다른 편집기를 사

git-scm.com

 

다음 링크에서처럼 먼저 username과 e-mail을 등록해줍니다.

git config --global user.name "John Doe"
git config --global user.email johndoe@example.com

 

git config --global -l

 

명령어를 확인하면 제대로 이름과 이메일이 등록되어있는지 확인할 수 있습니다.

 

 

로컬 저장소(Local Repository)에 원격 저장소(Remote Repository) 연결하기

 

github 에서 Respository를 생성하고 나면, 다음과 같이 repository url을 확인할 수 있습니다.

git repository URL

 

먼저 Local repository의 해당 작업경로로 이동해주세요.

cd "작업경로"

 

아래 명령어를 작성합니다.

git init

 

해당 경로에서 git을 사용하겠다고 명시해준 것 입니다.

위 명령어를 작성하면 .git 파일이 생성됩니다.

 

 

아래와 같이 입력하여 Remote 원격 Repository를 연결해줍니다.

git remote [remote이름] [원격repo URL]
git remote origin http://github.com/LLM-LangChain-Study/DLAI-LangChain-study.git

 

아래 명령어를 확인했을때 아래 그림과 같이 나온다면 잘 연결된 것입니다.

git remote -v

git remote

 

 

로컬 파일을 원격 저장소로 올리기 전에 해야할 것!

로컬 파일을 원격 저장소에 올리기 전에, 로컬의 환경이 원격 저장소의 파일과 일치하도록 만들어주어야 합니다.

따라서 아래의 commit & push 과정에 들어가기 전에 먼저 아래 명령어를 이용해줍니다.

git pull origin main

 

이 git pull 과정을 커밋 이전에 미리 해줘야 하는 이유는, 원격과 로컬의 파일이 다른 상태에서 파일이 삭제됐다거나 생성됐다는 감지 없이 코드의 변화만 본다면 git은 이를 충돌로 인식합니다. 따라서 push에 오류가 있고 실제로 충돌 오류가 있으니 commit 전에 미리 pull 을 해주는 것이 좋습니다.

 

로컬 저장소의 파일 원격 저장소로 commit & push 하기 (git commit & push)

앞서 원격 저장소의 경로를 로컬 저장소와 연결시켜주었으니,

로컬 저장소의 파일을 원격 저장소에 올리는 방법에 대해 알아봅시다.

맨 처음 그림과 같이 git 구조에는 3가지 영역이 존재합니다.

git area

다음과 같이 Local Reposiotry에서 작성하거나 수정한 파일을 git add 명령어를 통해 Staging area에 위치시키고 필요에 따라 git commit을 진행하는 것이죠!

 

즉, Staging 영역에 위치한 파일만 git commit이 가능합니다!

 

다음과 같이 staging 영역으로 파일을 올릴 수 있습니다.

git add [파일]

 

만약 수정된 모든 파일을 올리고 싶다면 아래 명령어를 사용하면 됩니다.

git add .

 

스테이징 영역에 올라간 파일들은 아래 명령어로 확인합니다.

git status

Staging 영역에 아직 올라가지 않은 파일
Staging 영역에 올라간 파일

 

만약 아직 스테이징 영역에 올라가지 않은 파일이라면 위 이미지처럼 빨간색으로 보이고,

스테이징 영역으로 올라갔다면 초록색으로 표시됩니다. 초록색 상태에서 commit이 가능합니다.

 

그리고 아래 명령어로 commit을 진행합니다.

git commit -m "commit message"

 

-m 을 이용해 커밋 메세지를 입력해줍니다. 보통 처음에는 "Initial Commit"을 입력하며, 커밋 메세지를 적어두는 것은 버전 관리와 협업을 하는데 중요한 기록을 담당하기 때문에 꼭 식별할 수 있도록 제대로 적어주는 것이 좋습니다!

commit

 

commit이 완료되면 다음과 같이 어떤 변화가 있었는지 기록해줍니다.

 

마지막으로 이 commit 내용을 원격 레포지토리에 적용시키고 싶다면 push 기능을 이용해 아래와 같이 명령어를 작성해줍니다.

git push origin main

 

origin의 내용을 main이라는 branch 로 push 하여 올리겠다는 의미입니다.

push

 

제대로 push가 되면 빨간 오류 없이 이렇게 push가 완료 됩니다.

 

 

 

여기까지 따라하신다면 파일 내용을 바로 스테이징 영역에 올리고 커밋과 push pull을 이용해 코드를 올려주고 내려받을 수 있습니다!

다음은 git clone, branch 에 대해서 알아보겠습니다!