Poylib
기록형 프론트엔드
Poylib
전체 방문자
오늘
어제
  • 분류 전체보기 (91)
    • Programing (38)
      • Javascript (17)
      • Typescript (1)
      • React (9)
      • React-Native (6)
      • Git (4)
      • Next (1)
    • Study (36)
      • Algorithm (35)
      • Etc. (1)
    • Record (17)
      • Memoirs (12)
      • Group (5)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 코칭스터디
  • 기초
  • 리액트
  • 프로그래머스
  • Error
  • react
  • 자바스크립트
  • react-native
  • typescript
  • 코딩테스트
  • vite
  • javascript
  • Git
  • 백준
  • ReactNative
  • Object
  • 회고
  • 알고리즘

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Poylib

기록형 프론트엔드

[Git] 깃 시작하기
Programing/Git

[Git] 깃 시작하기

2022. 8. 3. 17:02

 평소에 깃헙데스크탑을 사용하면서 CLI의 사용을 이 악물고 피해왔지만 이제는 마주할 때가 되었다. 특히 깃헙데스크탑에서는 사용하지 못하는 기능들도 있다 하여 언젠가는 넘어야 할 산이었다. 기본적인 명령어 정리부터 시작해서 평소 써보지 못했던 기능들까지 정리해보려 한다.

대충 파란 버튼만 누르면 됐었는데,,

 설치부터 git 계정 입력까지 완료한 상태부터 진행한다. 계정 입력이 되어있는지의 여부는

git config --list

를 입력해서 확인할 수 있으며, 계정 정보를 미리 config 해놓지 않으면 수시로 아이디와 비밀번호를 입력해야 하니 확인해두는 게 좋다.

1. 깃 초기화

git init

저장소를 만들고 싶은 디렉터리로 이동해서 위 명령어를 입력해 깃을 초기화한다.

.git 파일은 숨긴파일로 처리되어 생성되며 -la 옵션은 숨긴파일도 보여준다.

만약 git init을 사용했을 때 다음과 같은 문구들이 뜬다면

 git을 만들 때 메인 브런치가 'master'라는 이름으로 생성되기 때문인데, 'main'으로 바꿀 것을 권장하는 메시지 이므로 시키는 대로 해두면 다음부터 이 문구는 뜨지 않는다.

git config --global init.defaultBranch main

 

2. 버전 관리

버전 관리의 필요성은 조별과제를 해치우며 충분히 느낀 바 있다.

최종발표수정본이 남아있다

깃은 작업 트리, 스테이지, 저장소라는 가상의 개념을 이용하여 버전을 만든다.

 

작업 트리

현재 파일의 저장, 수정 등의 작업을 하는 디랙터리로 위 사진에서는 git_test 폴더를 말한다. 

스테이지

 버전으로 만들 파일이 대기하는 곳이다. 예를 들어 작업한 파일이 10개인데 버전을 만들 파일이 4개라면 그 4개만 스테이지에 올려주면 된다.

저장소

로컬 레포지토리라는 이름이 더 익숙한데, 스테이지에 대기 중인 파일을 버전으로 만들어 저장하게 된다.

 

3. 작업부터 커밋까지

(1) 작업

git status

작업 트리에서 깃의 상태를 확인할 수 있는 명령어이다. 앞에서 깃을 초기화한 상태이기 때문에 아래 사진과 같은 메시지가 출력된다.

위에서부터 순서대로

  1. 메인 브런치에 있다
  2. 아직 커밋할 파일이 없다
  3. 현재 커밋할 파일이 없다

는 메시지이다.

 

커밋할 내용을 만들기 위해서 마크다운 파일을 하나 추가해주었다.

파일을 추가하고 다시 깃 상태를 확인해보면 untracked files 즉 깃이 상태변화를 추적하지 않고 있는 파일이 있다고 알려준다.

(2) 스테이징

git add .
git add test.md

작업 트리에 있는 파일을 스테이지에 올리기 위한 명령어이다. 스테이지에 올리기 위한 파일 이름만 써도 되지만, ( . )을 사용하면 untracked file들을 한 번에 스테이지에 올려준다.

DS_store는 맥os가 파인더로 접근하면서 생성하는 파일이므로 무시하거나, git ignore를 사용해 깃 상태에 뜨지않게 할 수 있다.

(3) 커밋

 스테이지에 파일이 있다면 이제 버전을 만들 수 있다. 이를 '커밋'한다고도 말하는데, 커밋할 때는 어떤 변경 사항이 있었는지 메시지를 함께 기록해두어야 한다.

git commit -m "add: test.md"

터미널 라인에 ?1 은 DS_store인데 거슬려서 커밋 후 강제 삭제했다.

파일 하나가 추가되었다는 메시지와 함께 커밋이 완료되었다.

여기서 상태를 조회해보면 버전으로 만들(커밋할) 파일이 없고, 작업 트리가 깨끗하다는 메시지가 나온다.


만약 작업 후에 스테이징과 커밋을 동시에 하고 싶다면

git commit -am "Add: all in one"

-am 옵션에 커밋할 메세지를 써주면 된다.


 

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

'Programing > Git' 카테고리의 다른 글

[Git] alias를 이용해 깃 명령어를 단축어로 사용  (0) 2022.12.18
[Git] Rebase를 활용한 커밋 메세지 합치기  (0) 2022.12.10
[Git] github repository 연결하기  (0) 2022.08.27
    'Programing/Git' 카테고리의 다른 글
    • [Git] alias를 이용해 깃 명령어를 단축어로 사용
    • [Git] Rebase를 활용한 커밋 메세지 합치기
    • [Git] github repository 연결하기
    Poylib
    Poylib
    모시깽 기록

    티스토리툴바