티스토리 뷰
1. git init : 작업 폴더에서 git 사용하기
- 실제 코드를 짜는 상황에서 git을 사용해보기 위해 코드를 몇 줄 짜보자
- 그 전에, git을 이용해서 코드의 기록을 남기기 위해 VScode에서 터미널(Ctrl + shift + `)을 열어 아래의 명령어를 이용하자
git init
- 해당 명령어를 통해 git 소프트웨어가 내가 작업하는 폴더를 감시하기 시작하는 것이다.
- 자세히 말해 git이 파일 생성, 코드 작성 등을 추적하기 시작하는 것이다.
- 이제부터 작업 폴더에 git을 사용할 수 있게 됐다.
2. git add, git commit
- git commit : 파일의 현재 상태를 기록해둘 수 있는 명령어
- git의 commit 기능을 쓰면 파일의 현재 상태를 매일매일 기록해둘 수 있다.
- 정확히 말하면 파일의 '스냅샷'을 저장하는 것이다. 해당 기능을 통해 원하는 코드 상태로 쉽게 되돌아갈 수 있다.
- 작업 폴더에 파일 하나를 생성한 후 위의 사진과 같이 코드를 작성했다.
- 이제 이 코드를 git을 이용해 '기록'하려면 설치한 git을 이용해 "이 파일의 현재상태를 기록해"라고 명령하면 된다.
cf) '기록' 대신 '버전 생성'이라고 부르는 경우가 더 많다.
git add 파일명
git commit -m '아무메세지'
git add app.txt
git commit -m '처음 커밋'
- 내용을 또 작성해서 또 커밋해 보자
3. 용어정리 : staging area, repository, 그 외
- 파일을 기록(버전 생성)하고 싶을 때 git add, git commit 명령어를 차례대로 입력하면 된다.
- 해당 명령어를 그림으로 표현하면 대략 위와 같다.
- 그림의 가운데 부분을 staging area, 파일 버전이 저장되는 곳을 repository(저장소)라고 한다.
Q. 왜 굳이 git add / git commit 2개로 나눠서 해야할까? 하나의 명령어로 하면 편하지 않나?
A.
- git add와 git commit을 할 때마다 매번 모든 파일에 대한 버전 생성을 할 필요가 없기 때문이다.
- 자주 바뀌지 않는 이미지 파일 같은 건 최초의 버전이 생성 된 후 매번 버전 생성을 할 필요가 없다.
- 한 번 버전 생성을 한 후에는 왠만하면 잘 바뀌지 않기 때문이다.(물론 이건 케바케)
cf) 사실 동시에 해주는 명령어 있음 ㅋ
1. staging area
- 그렇기에 git add 명령어를 통해 기록을 남길(버전 생성할) 파일을 고르는 것이다.
- staging area는 commit을 하기 전에 commit 할 파일들을 골라놓는 곳이다.(git add 명령어로 staging 할 수 있는 것이다.)
- 작업 폴더에서 staging area에 파일을 넣는 행위를 staging이라고 한다.
2. repository(저장소)
- commit 된 파일의 버전들을 모아놓는 곳이다.
- repository의 실체를 보고 싶으면 작업 폴더 안에 숨겨져 있는 .git 폴더 열어보면 된다.
3. 그 외
git add 파일명1 파일명2
- 여러 파일을 동시에 staging 할 수 있다.
git add .
- 작업 폴더의 모든 파일을 staging 하고 싶을 때 사용
git status
- 지금 변경된 파일, staging 된 파일 등을 알려준다.
git restore --staged 파일명
- staging 된 파일을 취소하고 싶을 때 해당 명령어를 사용한다.
git commit -m '메세지'
- commit 할 때 -m 뒤에 메세지 입력 가능
- 메세지에는 추가되는 코드에 어떤 것을 추가했는지 같은 걸 적으면 된다.
git log --all --oneline
git log --all --oneline --graph
- commit 기록을 한 눈에 파악하고 싶으면 git log 명령어 입력하면 된다.
- '--graph' 옵션을 넣으면 그래프로 그려준다.
- 해당 명령어 입력 후엔 Vim 에디터가 켜져서 j, k 키로 위아래 스크롤이 가능하고 q 키로 종료할 수 있다.
● 숙제
- 파일 만들거나 파일 내용 수정 후 commit 5번 하기
- 중간 중간 git status, git log 같은 명령어도 사용
'Git' 카테고리의 다른 글
#6 git revert, reset, restore (0) | 2022.11.10 |
---|---|
#5 다양한 merge 방법 - 3-way / fast-forward / rebase / squash / branch 삭제 (1) | 2022.11.08 |
#4 branch, merge, conflict (1) | 2022.11.03 |
#3 git add, commit, diff / Git graph Extensions (0) | 2022.11.01 |
#1 Git 설치 (0) | 2022.10.30 |
- Total
- Today
- Yesterday
- SpringBoot
- 메모리
- jpa
- db
- 자료구조
- nosql
- Java8
- Phaser3
- OS
- 프로세스
- Spring Boot
- node.js
- 코딩테스트
- 코테
- MongoDB
- API
- DART
- 알고리즘
- MySQL
- 빅데이터
- git
- java
- 운영체제
- Advanced Stream
- Phaser
- spring
- 빅데이터 분석기사
- Stream
- SQL
- 프로그래머스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |