런타임노트

Git의 시작 본문

Git

Git의 시작

D269 2023. 2. 24. 15:56
728x90

 

이 글은 인프런에서 진유림 강사님의 강의를 듣고 쓴 글입니다.

따라서 본 글에 쓰인 일부 자료는 진유림 강사님의 자료입니다.

 

https://www.inflearn.com/course/%ED%8C%80%EA%B0%9C%EB%B0%9C-%EA%B9%83-%EA%B9%83%ED%97%88%EB%B8%8C/dashboard

 

팀 개발을 위한 Git, GitHub 입문 - 인프런 | 강의

개인 프로젝트부터 현업 개발까지, 팀 개발에 필수적인 기술인 Git과 GitHub을 그림을 통해 쉽게 익힙니다. 아예 처음 익히는 분부터 실무 사례가 궁금한 분까지 모두 들으실 수 있습니다. CLI, GUI를

www.inflearn.com

 


 

코딩을 할 때 컨+z를 눌러 이전 상태로 되돌리는 것이 아니라,

원하는 시점마다 깃발을 꽂고(버전을 만들고), 이들 간에 자유롭게 돌아다닐 수 있다.

 

 

깃을 사용하는 두 가지 방법.

1. CLI

2. GUI

 

(두 가지 중에 저는 개인적으로 CLI를 좋아하기 때문에 CLI로 실습했습니다.)

 

GitHub에 코드를 올리는 과정

  1. 내 컴퓨터 프로젝트 폴더에 '여기에서 Git을 쓸거다'라고 명령한다 -> git init
  2. 즐겁게 코딩
  3. 내가 변경한 파일 중 올리길 원하는 것만 선택 -> git add
  4. 선택한 파일들을 한 덩어리(commit)로 만들고 설명 적어주기 ->  git commit -m “첫 페이지 제작”
  5. 코딩 끝났으니 밥 먹고 오기
  6. GitHub 사이트에서 프로젝트 저장소 만들기(블로그 만드는 거랑 동일)
  7. 내 컴퓨터 프로젝트 폴더에 GitHub 저장소 주소 알려주기 -> git remote add
  8. 내 컴퓨터에 만들었던 덩어리 GitHub 올리기 -> git push

 


이 폴더에서 Git으로 버전관리를 하고싶어!

  1. 원하는 폴더에서 Git 초기화를 하면 그때부터 가능
  2. git init
  3. Git 초기화를 하면 .git이라는 숨겨진 폴더가 만들어진다. 이게 로컬저장소
  4. 로컬저장소에 내가 만든 버전 정보, 원격 저장소 주소 등이 저장된다.
  5. 원격 저장소에서 내 컴퓨터로 코드를 받아오면 로컬 저장소가 자동으로 생긴다.
  6. 한 폴더에 하나의 로컬 저장소만 유지해야 한다.

 

 


 

Git 사용자 정보 등록

  1. git 전역 사용자 설정 (GitHub의 닉네임과 이메일 입력)
git config —global user.name “사용이름”
git config —global user.email 자신의이메일@email.com

이렇게 설정하면 commit을 할 때마다. 커밋한 사람의 정보가 내가 설정한 정보로 들어가게 됨.

 

 

버전생성 실습

  1. vs code에서 readme.md, index.html 생성
  2. 원하는 파일만 선택하기
git add README.md
  1. 메세지를 달아 커밋으로 만들기
git commit -m "프로젝트 설명 파일 추가"
  1. 생성한 커밋 보기
어쩌고@RTNB149 MINGW64 /c/workspaces/Boxiting-cat (master)
$ git log
commit 80f64029a1f6c2abd18494b6d7dd093a808a4a50 (HEAD -> master)
Author: dlck어쩌고sdud <어쩌고@naver.com>
Date:   Thu Oct 27 17:54:43 2022 +0900

    프로젝트 설명 파일 추가

 

 

커밋 이모저모

  1. 커밋은 ‘의미 있는 변동사항’을 묶어서 만든다.
  2. 버튼 클릭 버그를 고치는데 5개의 파일을 수정했다면 그 5가지를 묶어서 하나의 커밋으로 만든다.
  3. 동료 개발자(혹은 미래의 나)가 ‘버튼 클릭버그’를 고치는데 어떤 파일을 수정했는지 손쉽게 파악 가능
  4. 커밋 메세지 적는게 귀찮아도 시간 조금이라도 들이기. 그래야 나중에 후회 안함.

 


 

로컬저장소와 원격저장소

버전관리는 커밋을 만들고, 그 커밋을 잘 쌓기만 해도 잘 되고 있는 것이다.

 

원격저장소 GitHub에서 만들고 커밋 푸쉬하기

  1. GitHub에 로그인해서 Boxiting 저장소 생성
  • GitHub 내 프로필에 + 버튼 > New repository\

 

Repository name을 적어주고,

Description은 옵션이기 때문에 필수는 아니다.

public : 전체공개할건지

private : 비공개 할건지 선택

 

 

 

내 계정에 Boxiting이라는 원격저장소가 생성이 된 것.

2. 내 컴퓨터 boxiting-cat 폴더에 GitHub 저장소 주소 알려주기

// 예시
// $ git remote add origin <https://github.com/아이디/이름.git>

$ git remote add origin <https://github.com/dlcksdud/Boxiting>

3. 만든 커밋 푸쉬하기

// 명령어 예시
// $ git push origin master

cksdud5087@RTNB149 MINGW64 /c/workspaces/Boxiting-cat (master)
$ git push origin master
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 244 bytes | 244.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To <https://github.com/dlcksdud/Boxiting>
 * [new branch]      master -> master햣 

 

 

 

4.  GtiHub 사이트에서 올라간 커밋 확인

 

 

 

 


 

다른 사람이 만든 저장소 받아오기

원격저장소를 내 컴퓨터에 받아오기 : 클론(clone)

 

 

  1. 내 컴퓨터에 boxiting-oct 폴더를 만들고 GitHub의 Boxiting 저장소 받아오기
어쩌고@RTNB149 MINGW64 /c/workspaces/Boxiting-oct (main)
$ git clone <https://github.com/어쩌고/Boxiting> .
Cloning into '.'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 3 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.

// $ git clone <https://github.com/어쩌고/Boxiting> .
// 끝에 온점(.) 중요함.
// 그래야 현재 폴더에 내려받고, 안찍으면 Boxiting-oct 폴더 안에 Boxiting이라는 이름으로 새 폴더 생성함.

잘 clone 되었는지 확인.

어쩌고@RTNB149 MINGW64 /c/workspaces/Boxiting-oct (master)
$ ls -al
total 8
drwxr-xr-x 1 어쩌고 1049089 0 Oct 28 10:03 ./
drwxr-xr-x 1 어쩌고 1049089 0 Oct 28 09:55 ../
drwxr-xr-x 1 어쩌고 1049089 0 Oct 28 10:03 .git/
-rw-r--r-- 1 어쩌고 1049089 0 Oct 28 10:03 README.md

 

2. app.js 파일 생성 후 add → commit → push

어쩌고@RTNB149 MINGW64 /c/workspaces/Boxiting-oct (master)
$ git add app.js
어쩌고@RTNB149 MINGW64 /c/workspaces/Boxiting-oct (master)
$ git commit -m "문어의 커밋"
[master 141d000] 문어의 커밋
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 app.js
어쩌고@RTNB149 MINGW64 /c/workspaces/Boxiting-oct (master)
$ git push origin master
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 261 bytes | 261.00 KiB/s, done.
Total 2 (delta 0), reused 0 (delta 0), pack-reused 0
To <https://github.com/어쩌고/Boxiting>
   80f6402..141d000  master -> master

 

3. GitHub 에서 새 커밋 확인하기.

app.js가 잘 올라온 것을 확인 할 수 있다.

 

 


원격 저장소의 변경사항 내 컴퓨터에 받아오기

  1. 내 컴퓨터에 boxiting-cat 폴더로 이동 후 app.js 없는 것 확인
어쩌고@RTNB149 MINGW64 /c/workspaces/Boxiting-cat (master)
$ ls -al
total 8
drwxr-xr-x 1 어쩌고 1049089 0 Oct 27 17:53 ./
drwxr-xr-x 1 어쩌고 1049089 0 Oct 28 09:55 ../
drwxr-xr-x 1 어쩌고 1049089 0 Oct 28 09:45 .git/
-rw-r--r-- 1 어쩌고 1049089 0 Oct 27 17:52 README.md
-rw-r--r-- 1 어쩌고 1049089 0 Oct 27 17:53 index.html

2. 풀 명령어로 문어가 새로 올린 커밋 땡겨오기

어쩌고@RTNB149 MINGW64 /c/workspaces/Boxiting-cat (master)
$ git pull origin master
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 2 (delta 0), pack-reused 0
Unpacking objects: 100% (2/2), 241 bytes | 30.00 KiB/s, done.
From <https://github.com/어쩌고/Boxiting>
 * branch            master     -> FETCH_HEAD
   80f6402..141d000  master     -> origin/master
Updating 80f6402..141d000
Fast-forward
 app.js | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 app.js

3. 

새로 생긴 app.js 확인

어쩌고@RTNB149 MINGW64 /c/workspaces/Boxiting-cat (master)
$ ls -al
total 12
drwxr-xr-x 1 어쩌고 1049089 0 Oct 28 10:44 ./
drwxr-xr-x 1 어쩌고 1049089 0 Oct 28 09:55 ../
drwxr-xr-x 1 어쩌고 1049089 0 Oct 28 10:44 .git/
-rw-r--r-- 1 어쩌고 1049089 0 Oct 27 17:52 README.md
-rw-r--r-- 1 어쩌고 1049089 0 Oct 28 10:44 app.js
-rw-r--r-- 1 어쩌고 1049089 0 Oct 27 17:53 index.html

 

 


 

Collaborator 추가

 

 

GitHub 원격 저장소에서 Settings >

 

왼쪽에서 Collaborators > Add people

 

여기에 같이 개발할 GitHub 유저이름을 적어준다.

 

해당 유저에게 이메일이가고, 해당 유저가 초대에 응하면, 그때부터 해당 유저에게 push 권한이 생기게 된다.

 

 

 

 

728x90
반응형