git&github 입문
코딩을 시작하고 git을 다루는 법을 아직까지 몰라서 책을 읽고 배운 내용을 적어보려고 합니다.
개발자의 기본 소양인 git 관리!! 해봅시다.
버전관리하기
저장소
- 작업트리
- 파일 수정, 저장 등의 작업을 하는 디렉토리. (우리 눈에 보이는 디렉토리)
- 스테이지(stage)
- 버전으로 만들 파일이 대기하는 곳.(staging area)
- add 명령어를 통해 stage에 저장됨
- 저장소(repository)
- 스테이지에서 대기하고 있던 파일들을 버전으로 만들어 저장하는 곳
- commit 명령을 통해 stage에 있던 파일이 저장소에 저장됨
작업트리
디렉토리 생성 후 현재 상태
$ git status
현재 상태를 보여줍니다. 파일 수정, 삭제, 생성 등 어떤 변경사항이 생기면 알려줍니다.
스테이지(add)
그냥 add 명령어로 stage에 올린다고 생각하면 됩니다.
저장소(commit)
$ git commit -m “commit message”
-m 이후 commit할 때 보여질 message를 적는다.
$ git commit -a -m “message”
stage와 commit 동시에 하기
$ git log
커밋 내용 확인하기
$ git diff
변경 사항 확인하기
hello.txt 파일에서 2를 지우고 two를 추가하였을 때, 2가 삭제되었고, two라는 내용이 추가되었다는 뜻
tracked 파일과 untracked 파일
- hello.txt 파일을 수정했지만 아직 스테이지에 올라가지 않았다는 뜻(tracked file)
- hello2.txt 파일이 git에서 버전 관리를 하지 않았기 때문에 수정 내역을 추적하지 않았다는 뜻(untracked file)
-> 둘다 add를 통해 스테이지로 올려야 함
작업 되돌리기
작업 트리에서 수정한 파일 되돌리기(수정했지만 변경사항 취소) $ git checkout
- 스테이징 되돌리기
- $ git reset HEAD 파일 이름
- 수정된 파일을 스테이징 했지만 스테이징 취소(스테이지에서 내려짐)
HEAD: 현재 branch를 가리키는 포인터(후에 설명)
- 최신 커밋 되돌리기
- $ git reset HEAD^
- 스테이징하고 커밋까지 했을 때, 가장 마지막에 한 커밋을 취소
- 커밋이 취소되고 스테이지에서도 내려짐
- 특정 커밋으로 되돌리기
$ git reset 커밋 해시- reset A-> A 커밋을 삭제하는 것이 아니라 A 커밋 이후에 만들었던 커밋을 삭제하고, A 커밋으로 이동하겠다는 뜻
- 커밋 삭제하지 않고 되돌리기
- $ git revert
- revert 명령 뒤에 취소하려고 하는 버전을 지정
- 지우는 것이 아닌 변경했던 것을 취소한 새 커밋을 만듬
This post is licensed under CC BY 4.0 by the author.