[Git & GitHub] git 로컬 저장소 생성 / 커밋 / push / pull

2025. 9. 4. 14:42·Git

 

Git 설치한 후 Git Bash 창 연다.

 

 

 

기본 terminal을 사용한다면 terminal 열고 아래 코드 입력한다.

cd~/Desktop/Programming/iTshirt-cat
// cd 다음으로 본인 폴더 경로 임력
// iTshirt-cat은 실습용 폴더

 

 

 

git bash는 이렇게 뜸

 

 

✔️ 로컬 저장소 만들기

$git init

Git 초기화 과정

실행하면 해당 폴더에 .git 폴더가 생성된다.

.git 폴더는 로컬 저장소라고 부르며, Git으로 생성한 버전들의 정보와 원격 저장소 주소 등이 들어있음

 

 

✔️ 커밋 Commit

1) 우선 내 정보 등록

$git config --global user.email "깃허브에 등록한 메일주소"
//예  $git config --global user.email "abc@ngoogle.com"
// 명령어 입력하고 엔터

$git config --global user.name "깃허브 username"
//예  $git config --global user.name "에이밍"
// 명령어 입력하고 엔터

 

 

2) 커밋 전 스테이징 영역으로 보내기

$git add README.txt
//여기에서 README.txt는 버전 관리 할 폴더명.확장자 입력해준다.

만약 폴더 통으로 보낸다 하면

$git add .

 

3) 커밋 Commit

$git commit -m "사이트 설명 추가"

 

커밋을 할 때 버전이라던가 수정한 이유 등의 상세 설명을 적을 수 있다. 

-m 뒤에 "" 큰 따옴표 안에 내용을 적으면 된다.

1 file changed, 1 insertion(+) 메세지 보이면 커밋 성공

 

 

메모장 내용을 수정해서 두 번째 커밋을 해보자.

수정한 메모장을 add해서 스테이징 영역으로 보낸다. (2번 과정)

 

commit 명령어 작성해서 파일을 커밋해준다.

이때 1 file changed, 1 insertion(+), 1 delection(-) 메세지가 보이면 성공

 

 

✔️ 원하는 시점으로 되돌리기

checkout 명령어 : 원하는 시점(커밋)으로 파일을 되돌릴 수 있다.

최근에는 switch 명령어와 restore 명령어로 나누어졌다고 한다.

  • switch - 브랜치 간 이동하는 명령어
  • restore  - 커밋에서 파일들을 복구하는 명령어

1) 지금까지 만든 커밋 확인

$git log

최신 커밋 순으로 보여준다.

 

 

 

2) 과거 커밋으로 되돌리기

$git checkout 커밋아이디앞7자리

 

되돌리려는 과거 커밋의 커밋 아이디 앞 7자리 복사해서 엔터.

아이디 전체를 복사해도 되지만 같편하게 앞 7자리만 복사.

나는 맨 처음 커밋으로 돌아갔다.

 

 

3) 최신 커밋으로 되돌리기

$git checkout -

2)에서처럼 아이디를 입력해도 되지만 간단하게 -만 입력해도 된다.

 

 

 

 

✔️ 깃허브 원격 저장소 (Repository) 에 커밋 올리기

깃허브에 접속해 로그인 한 후, 오른쪽 상단의 + 버튼 눌러 New repository 클릭해 원격 저장소 만들어준다.

 

 

이전에 만들어 둔 레포지토리.

새로운 파일은 레포지토리에 등록하기 전이라 아직 없다.

 

 

1) 로컬 저장소에 연결할 원격 저장소 주소를 알려주기

커밋 올릴 폴더에서 Git bash 창 열어주고 아래 명령어 입력한다.

$git remote add origin 깃허브 레포지토리 주소

 

 

2) 브랜치Branch 생성 

branch를 책에서는 지금까지 만든 커밋을 둘 장소로 main이라는 이름의 방(엄밀히 말하면 방은 아니지만 일단은)이라고 설명하고, 구글링에선 독립적으로 작업을 진행할 수 있도록 돕는 작업 흐름이라고 함

 

아래 명령어를 입력한다.

$git branch -M main

 

-m: 안전하게 이름 바꾸기 (겹치면 에러 발생)

-M: 강제로 이름 바꾸기 (겹치면 기존 브랜치 덮어쓰기)

 

 

3) 로컬 저장소 커밋을 원격 저장소로 올리기(push)

원격 저장소 (origin)의 main이라는 방에 내 커밋들을 올려라

명령문을 입력해 실행한다.

$git push origin main

 

아래와 같이 100% 완료 메세지가 뜨면 성공이다.

 

 

리포지토리에서도 확인할 수 있다.

 

한글 깨지는 건 이제.. 알아봐야지 후... 지난 번에 해결했었는데 왜 또 이러는지;

 

 

✔️ 원격 저장소Repository의 커밋을 로컬 저장소에 내려받기

 

1) 새로운 폴더 생성

iTshirt-cat과 같은 경로에 iTshirt-dog라는 새로운 폴더를 만들어주고 이 폴더에서 마우스 우측 버튼 클릭해 Git Bash Here 클릭

 

 

2) git clone 명령

내려받을 레포지토리 주소를 복사한다. Download Zip으로 받으면 원격 저장소와 버전 정보가 제외되기 때문에 꼭 클론 기능을 통해 받는다.

$ git clone 레포지토리주소 .

주소 뒤에 한 칸 띄고 마침표(.) 넣어준다. 
마침표를 붙이지 않으면 ITshirt-dog 폴더 안에 iTshirt라는 새로운 폴더가 생기고 그 폴더 안에 README.txt 파일과 [.git] 폴더가 생성됨. 딱히 상관은 없는데 폴더 구조가 복잡해진다.

 

 

 

3) 폴더 확인

원격 저장소에 push 했던 txt 파일과 [.git]이 보이면 성공

[.git]이 보이지 않는다면 숨김 폴더를 해제하면 된다.

 

 

✔️ 새로운 커밋 및 로컬 저장소 갱신

1) 텍스트파일 수정 후 새로 커밋 올리기

git_practice.txt를 수정해서 저장하고 앞에서 했던 add, commit, push 세가지 명령 실행

수정 전

 

수정 후

 

중간에 한글깨짐 이슈가 있었어서 이전에 정리했던 내용 참조해 인코딩해줬다.

 

 

깃허브에서 확인해보면 커밋이 잘 된 것을 확인할 수 있다

 

 

2) 새로운 커밋을 레포지토리에 갱신

iTshirt-dog 폴더에 있는 텍스트파일 내용을 수정하고 커밋이 반영되었으나, iTshirt-cat 폴더의 텍스트파일은 반영되지 않았다.

 

 

3) pull 명령어

iTshirt-cat에서 Git Bash 열고 아래 명령어를 입력한다.

원격 저장소 내에 새로운 커밋이 있다면 그걸 내 로컬 저장소에 받아오라는 명령이다.

git pull origin main

 

 

1 file change 메세지가 나오면 성공

 

수정된 것을 확인할 수 있다.

 

 

 

 

 

※ 출처

『 팀 개발을 위한 Git, GitHub 시작하기 』참조

 

 

 

 

 

저작자표시 비영리 변경금지 (새창열림)

'Git' 카테고리의 다른 글

[git] 출력 오류_한글 깨짐 현상 fatal: unknown write failure on standard output  (0) 2025.07.31
'Git' 카테고리의 다른 글
  • [git] 출력 오류_한글 깨짐 현상 fatal: unknown write failure on standard output
amying
amying
공부해보겠슨
  • amying
    꽁꽁 얼어붙은 자바 위를 자박자박
    amying
  • 글쓰기 관리
  • 전체
    오늘
    어제
    • 분류 전체보기 (332)
      • 공부 (55)
        • JAVA (17)
        • Spring (17)
        • Java Script (1)
        • React (0)
        • SQL (3)
        • DB (1)
        • CS (13)
        • 기술면접 (3)
      • Git (2)
      • 강의 (36)
        • 부스트코스: Connect On: 테크와 나를 잇.. (16)
        • 부스트코스: CS50 (20)
      • 네이버 부스트캠프 베이직 (25. 06) (0)
      • 에러 (10)
      • 코테 (205)
        • 백준 (29)
        • 프로그래머스 JAVA Lv.0 (116)
        • 프로그래머스 JAVA Lv.1 (7)
        • 프로그래머스 SQL (53)
      • 개인 프로젝트 (16)
        • 책첵 CHAEKCHECK (2)
        • 일정 관리 서비스 만들기 (0)
        • 게시판 만들기 (eclipse-JSP) (14)
      • 이것저것 (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    에러
    코테
    lombok
    부스트코스강의
    책첵개발일지
    springbot
    CS50
    오라클에러
    Java
    부스트코스
    데이터연동
    프로그래머스
    git명령어
    코딩테스트_입문
    ORACLE에러
    알고리즘
    업무자동화
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.4
amying
[Git & GitHub] git 로컬 저장소 생성 / 커밋 / push / pull
상단으로

티스토리툴바