[git & github] git이랑 친해지기 ① (git add, git commit, git diff)

2025. 10. 4. 19:05·git & github
반응형

git이란?

git이란 버전 관리 소프트웨어로 우리가 작업한 코드를 안전하고 쉽게 기록, 보관해 둘 수 있게 해주는 소프트웨어다

- > 과거의 작업 내용을 확인할 수 있어 수정 전 코드로 돌아가 안정적인 개발이 가능해진다

 

이러한 git을 사용하려면 git 명령어를 몇가지 알아야한다 

git 등록

만약 컴퓨터에서 git을 처음 사용한다면

지금 git을 누가 사용하고 있는지 알려주기 위해 이름 등록부터 해주어야 한다

 

아무 폴더를 생성한 후 우클릭 - > PowerShell 창 열기 후 다음의 코드를 차례로 입력하면 된다

git config --global user.email "철수@naver.com"
git config --global user.name "철수"

 

git 명령어들

작업폴더에서 git을 사용하고 싶다면 터미널에 git init을 입력하고 시작하면된다

git init을 입력하게되면 git이 우리가 파일에서 어떤 행동을 하는지 추적하기 시작한다

git init

 

파일의 현재 상태를 기록해두려면 다음의 코드를 입력하면 된다

git add 파일명
git commit -m '하고싶은 말'

 

이렇게 하면 파일의 내용이 기록되어

나중에 이 파일의 상태를 그대로 되돌릴 수 있다

 

수정사항이 생길 때마다 add -> commit 을 하는 습관을 들이면 좋다

add -> commit 흐름

위 사진을 보면 git add를 하게되면 파일이 staging area로 이동하게 된다

staging area는 commit을 하기 전 commit 할 파일들을 골라놓는 곳이라고 이해하면 된다.

git add 행위를 staging한다 라고도 부른다

 

git commit을 하게되면 repository로 넘어가게 되는데

repository는 파일이 저장되는 저장소 개념이다

 

만약 여러 파일을 staging 하고 싶다면

git add 파일명1 파일명2

참고로

git add .

이러면 폴더의 모든 파일을 staging 할 수 있다.

 

내가 만약 어떤 파일을 add했고 어떤 파일을 commit 했는 지를 까먹었을 때

git status

이러면 현재 작업 상태를 확인해볼 수 있다.

 

staging된 파일을 취소하고 싶으면

git restore --staged 파일명

 

지금까지의 commit 내역을 조회하고 싶으면

git log --all --oneline

 

git log --all --oneline

여기서 앞부분의 노란 글씨들은 커밋아이디를 나타낸다

 

바로 전 commit과 현재파일의 차이를 보고싶으면

git diff

이럼 vim 에디터로 차이점을 보여주는데

j / k 로 스크롤을 조작하고

q로 종료하면 된다

 

하지만 git diff는 알아보기가 힘들고

사소한 변화(space bar, enter)까지도 차이점으로 인식해서 쌩으로 잘 사용하지 않는다

알아보기 힘든 모습

 

그래서 쓰는 것이

git difftool

이러면 시각적으로 차이점을 알아보기 쉽게 나타내준다

알아보기 좀 더 나은 모습

이것도 여전히 vim 에디터로 나타나고

h,j,k,l 로 방향이동하고

q or qa 로 종료한다

 

현재파일 vs 특정 커밋 상태 비교하고 싶으면

git difftool 커밋아이디

 

특정 커밋 vs 특정커밋 비교하고 싶으면

git difftool 커밋아이디1 커밋아이디2

 

참고로 커밋아이디는 git log --all --online 했을 때 나오는 노란 글자들이다

 

이 글은 coding apple의 강의를 보고 공부한 내용을
정리하는 목적으로 작성된 글이고
git에 대한 지식이 중구남방으로 있었어서
이번 기회에 한 번 정리해보고 싶어서 공부하게 되었습니다.

 

반응형

'git & github' 카테고리의 다른 글

[git & github] git이랑 친해지기 ④ (git flow, Trunk-based 전략)  (0) 2025.10.08
[git & github] github랑 친해지기  (0) 2025.10.07
[git & github] git이랑 친해지기 ③ (git restore, git revert, git reset)  (0) 2025.10.06
[git & github] git이랑 친해지기 ② (git branch, git merge)  (0) 2025.10.05
'git & github' 카테고리의 다른 글
  • [git & github] git이랑 친해지기 ④ (git flow, Trunk-based 전략)
  • [git & github] github랑 친해지기
  • [git & github] git이랑 친해지기 ③ (git restore, git revert, git reset)
  • [git & github] git이랑 친해지기 ② (git branch, git merge)
20puddle
20puddle
20puddle 님의 블로그 입니다.
  • 20puddle
    20puddle 님의 블로그
    20puddle
  • 전체
    오늘
    어제
    • 분류 전체보기 (100)
      • Spring boot (5)
      • git & github (5)
      • algorithm (47)
        • theory (3)
        • 배열 (7)
        • 연결 리스트 (3)
        • 스택 (5)
        • 큐 (3)
        • 덱 (2)
        • 기초 코드 (19)
        • BFS (5)
      • AI (43)
        • Machine Learning (35)
        • Deep Learning (8)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    알고리즘
    백준
    오프라인 학습
    머신러닝
    Java
    github
    DL
    딥러닝
    그레디언트 클리핑
    주성분변환
    list
    게시판
    홀드아웃 검증
    연결리스트
    인공지능
    ML
    Spring Boot
    git
    AI
    Aimers
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.3
20puddle
[git & github] git이랑 친해지기 ① (git add, git commit, git diff)
상단으로

티스토리툴바