| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
- 성수
- 객체지향프로그래밍
- 클린코드
- 성수핫플
- 객체지향
- Java
- 독서
- 오브젝트
- 깨끗한코드
- 책읽기
- 디자인패턴
- 헤드퍼스트디자인패턴
- DesignPattern
- 주니어개발자
- 코딩
- 성수볼거리
- 독서일지
- IntelliJ
- Linux
- JAVA개발자
- 직장인점심
- 헤드퍼스트
- 개발자
- JavaScript
- docker
- 성수직장인
- 직장인
- 상속
- 성수맛집
- 책너두
- Today
- Total
런타임노트
Git의 시작 본문
이 글은 인프런에서 진유림 강사님의 강의를 듣고 쓴 글입니다.
따라서 본 글에 쓰인 일부 자료는 진유림 강사님의 자료입니다.
팀 개발을 위한 Git, GitHub 입문 - 인프런 | 강의
개인 프로젝트부터 현업 개발까지, 팀 개발에 필수적인 기술인 Git과 GitHub을 그림을 통해 쉽게 익힙니다. 아예 처음 익히는 분부터 실무 사례가 궁금한 분까지 모두 들으실 수 있습니다. CLI, GUI를
www.inflearn.com
코딩을 할 때 컨+z를 눌러 이전 상태로 되돌리는 것이 아니라,
원하는 시점마다 깃발을 꽂고(버전을 만들고), 이들 간에 자유롭게 돌아다닐 수 있다.
깃을 사용하는 두 가지 방법.
1. CLI
2. GUI
(두 가지 중에 저는 개인적으로 CLI를 좋아하기 때문에 CLI로 실습했습니다.)
GitHub에 코드를 올리는 과정
- 내 컴퓨터 프로젝트 폴더에 '여기에서 Git을 쓸거다'라고 명령한다 -> git init
- 즐겁게 코딩
- 내가 변경한 파일 중 올리길 원하는 것만 선택 -> git add
- 선택한 파일들을 한 덩어리(commit)로 만들고 설명 적어주기 -> git commit -m “첫 페이지 제작”
- 코딩 끝났으니 밥 먹고 오기
- GitHub 사이트에서 프로젝트 저장소 만들기(블로그 만드는 거랑 동일)
- 내 컴퓨터 프로젝트 폴더에 GitHub 저장소 주소 알려주기 -> git remote add
- 내 컴퓨터에 만들었던 덩어리 GitHub 올리기 -> git push
이 폴더에서 Git으로 버전관리를 하고싶어!
- 원하는 폴더에서 Git 초기화를 하면 그때부터 가능
- git init
- Git 초기화를 하면 .git이라는 숨겨진 폴더가 만들어진다. 이게 로컬저장소
- 로컬저장소에 내가 만든 버전 정보, 원격 저장소 주소 등이 저장된다.
- 원격 저장소에서 내 컴퓨터로 코드를 받아오면 로컬 저장소가 자동으로 생긴다.
- 한 폴더에 하나의 로컬 저장소만 유지해야 한다.
Git 사용자 정보 등록
- git 전역 사용자 설정 (GitHub의 닉네임과 이메일 입력)
git config —global user.name “사용이름”
git config —global user.email 자신의이메일@email.com
이렇게 설정하면 commit을 할 때마다. 커밋한 사람의 정보가 내가 설정한 정보로 들어가게 됨.
버전생성 실습
- vs code에서 readme.md, index.html 생성
- 원하는 파일만 선택하기
git add README.md
- 메세지를 달아 커밋으로 만들기
git commit -m "프로젝트 설명 파일 추가"
- 생성한 커밋 보기
어쩌고@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
프로젝트 설명 파일 추가
커밋 이모저모
- 커밋은 ‘의미 있는 변동사항’을 묶어서 만든다.
- 버튼 클릭 버그를 고치는데 5개의 파일을 수정했다면 그 5가지를 묶어서 하나의 커밋으로 만든다.
- 동료 개발자(혹은 미래의 나)가 ‘버튼 클릭버그’를 고치는데 어떤 파일을 수정했는지 손쉽게 파악 가능
- 커밋 메세지 적는게 귀찮아도 시간 조금이라도 들이기. 그래야 나중에 후회 안함.
로컬저장소와 원격저장소
버전관리는 커밋을 만들고, 그 커밋을 잘 쌓기만 해도 잘 되고 있는 것이다.

원격저장소 GitHub에서 만들고 커밋 푸쉬하기
- 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)

- 내 컴퓨터에 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가 잘 올라온 것을 확인 할 수 있다.
원격 저장소의 변경사항 내 컴퓨터에 받아오기
- 내 컴퓨터에 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 권한이 생기게 된다.
'Git' 카테고리의 다른 글
| cherry-pick (다른 브랜치에 있는 커밋 한개만 내 브랜치에 반영하고 싶을 때) (0) | 2025.11.11 |
|---|---|
| [Git] fatal: Not a valid object name: 'master'. (0) | 2023.10.12 |
| [Git] 원격 저장소 연결 및 끊기 (git remote) (0) | 2023.08.22 |
| [Git] branch 생성과 전환 방법 (2) | 2023.05.22 |
| [Git 오류] Updates were rejected because the tip or your current branch is behind its remote.. (0) | 2023.05.22 |