Git2 - CLI 버전관리

2022. 1. 30. 15:47·Git

Working tree

- 버전으로 만들어지기 전 단계. 작업중인 파일

- add 명령어를 통해 staging area에 파일을 올릴 수 있음

 

Staging Area

- working tree에서 버전으로 만들고 싶은 파일(commit 하고 싶은 파일)을 staging area에 올림

- staging area에 있는 파일들을 git이 가져가서 버전으로 만듬

 

Repository

- 버전이 저장되는 곳. 만들어진 버전

 

<명령어>

git init : initialize reopsotiry

git status : 현재 상태를 확인하는 명령어. working tree status

git add file.txt : file.txt 파일을 staging area에 올리는 명령어. add to staging area

git commit : 버전을 생성하는 명령어. staging area에 있던 파일이 repository로 이동. create version

git log : 로그(메시지) 확인. 로그화면에서 나가기 위해서는 q. show version

git log --stat : 각 commit(버전)마다 어떤 파일들이 관여되었는지 확인 가능

git diff : working tree와 가장 마지막 버전간의 바뀐 부분을 표시해줌. show changes

git log -p : 버전별로 수정된 내용을 표시해줌

git checkout 커밋id : 저장소가 커밋id가 가리키는 버전을 만든 시점으로 돌아가게 됨.(최신 버전이 지워진 것은 아님) 커밋id는 git log에서 확인 가능

git checkout master : 가장 최신 버전으로 돌아감.

git add . : 현재 디렉토리 밑에 있는 모든 파일들을 add

git add src : src 디렉토리 밑에 있는 모든 파일들을 add

git commit -am : add, commit을 한번에

untracked file이 있는 상태에서 git commit -am 시 untracked file은 add&commit되지 않음. 최초 1번 이상 add된 파일에 한해서만 add&commit됨

git commit -m "" : 커맨드라인에서 직접 메시지를 ""안에 입력

git commit만 입력 시 에디터가 뜸

git reset --help : reset하는 커맨드에 대한 여러가지 설명을 볼 수 있음

git revert 커밋id : 해당 커밋id에 해당하는 커밋은 내버려 둔 채, 해당 커밋에서 일어난 변화 만큼을 취소함. 로그를 찍어보면 revert 커밋이 하나 더 찍혀있음. 가장 마지막 커밋이 아닌 커밋을 revert 하고싶을 경우, 가장 마지막 커밋부터 역순으로 revert하고 싶은 커밋까지 모두 revert 해줘야 함 (그렇지 않을 경우 충돌이 발생할 수 있음)

 

버전관리를 위한 도구들을 알고 싶을때: diff tool로 구글 검색해보기

.gitignore : 버전관리를 하지 말아야 할 파일이 있을 때, .gitignore라는 파일을 만들고, 그 파일에 버전관리하지 않을 파일명을 적어주면 됨. gitignore로 구글 검색해보기

branch : 평행우주처럼 저장소를 여러 상태로 공존할 수 있도록 해주는 것

tag : commit id대신 이름을 붙이는 것

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

'Git' 카테고리의 다른 글

깃헙에 SSH key 등록해서 사용할 때 주의할점 (ssh-agent)  (1) 2023.01.18
GIT4 - Reset & Revert  (0) 2022.02.14
GIT3 - CLI branch & conflict  (0) 2022.02.07
GIT3 - CLI Backup  (0) 2022.01.31
CLI (Command Line Interface)  (0) 2022.01.31
'Git' 카테고리의 다른 글
  • GIT4 - Reset & Revert
  • GIT3 - CLI branch & conflict
  • GIT3 - CLI Backup
  • CLI (Command Line Interface)
summercat
summercat
세젤귀 또킨이 집사 블로그
  • summercat
    여름고양이
    summercat
  • 전체
    오늘
    어제
    • 분류 전체보기 (28)
      • Swift-iOS (4)
        • iOS (1)
        • Swift (2)
      • 네트워크 (1)
      • data structure (4)
      • Git (6)
      • Java (13)
        • project lion JSB the origin (10)
        • ByteDegree (3)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    URLQueryItem
    야곰아카데미
    OSI
    ssh-add
    multipart/form-data
    copy on write
    어플
    Cow
    값 타입
    메모리 구조
    HTTP Methods
    커리어스타터캠프
    HTTP message
    부트캠프
    유니버셜링크
    ssh-agent
    SWIFT
    deeplink
    universal link
    Endpoint
    네트워크
    ssh-configure
    IOS
    앱개발
    URLComponents
    TCP
    Github
    참조 타입
    딥링크
    JSON
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
summercat
Git2 - CLI 버전관리
상단으로

티스토리툴바