Git 기초1. add, commit

INSHAKE·2023년 5월 4일
0

Git

목록 보기
1/3
post-thumbnail

0. git이 뭔데

  • 여러분 상사한테 보고 하나 할려고 합니다. 파일 만들어서 제작해야죠. 월말보고.txt처럼 파일 만들었다고 칩시다. 그런데 빠꾸를 한 세번 먹으면 파일 명이 어떻게 됩니까. 최최최최최종.진짜최종.최종일리가.txt쯤 되지 않습니까.
  • 이렇게 하면 파일명도 더러워지고 문서도 많아져서 관리가 힘듭니다.
  • 그리고 문제점이나 버그가 발생했는데 코드가 2000만줄 짜리라고 생각했을때 어디서 버그가 발생했는지도 확인하기가 어렵습니다.
  • 이런 문제를 소프트웨어적으로 풀어둔것을 git이라고 합니다.
  • 버전관리를 하는 가장 기본적인 이유는 디버깅을 위해 하는 것입니다.
  • 우린 이런걸 버전관리라고 이야기합니다. 이것은 곳 파일의 백업과 협업으로 이어지니, 아주 중요하다고 할 수 있습니다.

1. git init

작업폴더에서 git 쓰고싶으면 git init 부터 입력합니다.

git init

이제 git이 여러분들이 파일을 생성하거나 코드 짜는걸 추적하기 시작합니다.

2. git add, commit

파일을 생성하고 코드를 짠뒤 코드가 마음에 들어서 기록하고 싶습니다.
그럼 이제 git을 이용해서
"이 파일 현재 상태를 기록 해줘~~~" 라고 요청ㅎ면 되는데,

git add 파일명
git commit -m '메세지'

차례로 터미널에 입력하면 됩니다.

해당 과정은 "기록"이라기 보다는 "버전생성"이라고 표현한다.

3. staging area & repository

버전 만들 떈 git add, commit을 차례로 하면 된다고 했습니다.

그림으로 표현하면 이런식입니다.
가운데 지점을 staging area,
파일 버전이 저장되는 것을 repository(저장소) 라고 합니다.

  1. staging area는 commit을 하기 전에 commit할 파일들을 골라놓는 곳입니다.
    그리고 staging area에 파일 넣는 행위를 staging이라고 합니다.
    git add 명령어로 staging 할 수 있습니다

  2. repository는 commit된 파일을의 버전들을 모아놓는 곳입니다.
    repository를 구경하고 싶으녀 작업폴더 안에 숨겨져있는 .git 폴더를 열어보면 됩니다.

4. 다른 명령어들

git add 파일명1 파일명2

이렇게 여러 파일을 동시에 스테이징할 수 있습니다.

git add. 

작업폴더의 모든 파일을 전부 스테이징 합니다.

git status

지금 변경된 파일, staging된 파일 등을 쭉 알려줍니다.
지금 뭐하는지 까먹었을때도 자주 입력합니다.

git restore --staged 파일명  #하나씩
git restore .  #작업폴더 모든 파일

staging 된 파일을 취소합니다.

git log --all --oneline
git log --all --oneline --graph

commit 기록을 한 눈에 파악하고 싶으면 사용합니다.
--graph 옵션을 넣으면 그래프로 그려줍니다.

다만 입력 후엔 Vim 에디터가 켜저서 j,k 키로 위아래 스크롤이 가능하고 q키로 종료할 수 있습니다.

Q. 얼마나 자주 commit하는게 좋은가?

A. Ctrl + S 누르는 것 처럼 습관적으로 할 이유는 없고 기능을 하나 추가할 때 마다 commit 하면 된다.

예를들어 웹개발시 회원가입기능을 만든다고 하면,

  • 회원가입 폼 레이아웃 만들면 commit
  • 입력한 이메일이 맞는지 검증하는 기능을 만들고 commit
  • 서버에 전송하는 기능을 만들고 commuit

물론 크게크게 만들고 commit 하셔도 됩니다. 본인 마음입니다.

profile
꾸준함이 무기

0개의 댓글