| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- 개발일지
- WebSocket
- 정보처리기사
- WIL
- poetry
- 정보처리기사실기
- 알고리즘
- channels
- github
- 마스킹
- 가상환경
- 프로젝트
- sql
- WHERE절
- 파이썬
- Commpot
- re-id
- resnet50
- 채팅
- 장고
- 백준
- Class
- 프로그래머스
- 2주차
- 1주차
- 미니프로젝트
- vscode
- js
- REDIS
- Git
Archives
- Today
- Total
개발일기
#2 Git에 대하여(git diff, git stash, git reset, git revert, branch) 본문
오늘의 공부일기/Git 공부일기
#2 Git에 대하여(git diff, git stash, git reset, git revert, branch)
츄98 2023. 4. 11. 02:19오늘은,
작업내역을 비교하거나 임시저장, 작업 되돌리기, 브랜치 관리하는 방법을 살펴보자.
1. 작업내역 비교하기

2. 작업 되돌리기
revert : 버전을 되돌려 새로운 버전을 만든다.

reset : 버전을 완전히 되돌리기 - soft, mixed, hard
더보기
참고하기 :)
- 하나의 버전이 만들어지는 과정
1. 작업 디렉터리에서 변경사항 생성하기
2. 스테이지로 추가하기
3. 저장소로 커밋하기
- soft reset : 커밋만 되돌리기. 여전히 스테이지에는 남아있는 상태
- mixed reset : 스테이지까지 되돌리기. 작업디렉터리에 변경사항이 남아있는 상태
- hard reset : 작업 디렉터리까지 되돌리기. 즉 완전한 reset..!




3. 작업 임시저장하기

4. 브랜치 관리하기
브랜치: 버전을 여러 개의 흐름으로 관리하는 방법. 다른 말로는, 버전의 분기
브랜치를 사용하는 이유
1. 합리적인 협업:
서로의 작업과 전혀 관련 없는 부분, 같은 코드를 다르게 수정한 부분을 브랜치를 사용하면 보다 쉽게 알 수 있고, 코드를 합치다 생기는 실수를 줄일 수 있다.
2. 많은 버전, 요구사항들을 보다 편리하게 수정할 수 있다.
브랜치로 버전의 분기를 관리하는 방법:
- 브랜치를 나눈다.
- 각자의 브랜치에서 작업한다.
- (필요할 경우) 나눈 브랜치를 합친다.


4-1. 브랜치의 이름
막 짓는 것이 아니다..! 특징 또는 기능에 따라서 이름을 정한다.
예를 들어,
메뉴 기능 추가를 위한 브랜치라면, feature/menu 브랜치
버전 릴리스를 위한 브랜치라면, release 브랜치
로그인 기능을 수정하기 위한 브랜치라면, fix/ login 브랜치 또는 hotfix/ login 브랜치
4-2. 특정 브랜치에서 작업하기
- HEAD
- 현재 작업 중인 브랜치의 커밋을 가리킨다.
- 현재 작업 중인 브랜치의 최신 커밋
- Checkout
- 특정 브랜치에서 작업할 수 있도록 작업 환경을 바꾸는 것
- Head 의 위치를 특정 브랜치의 최신 커밋으로 옮김
4-3. 브랜치 합치기(merge)
기준이 되는 브랜치, 합칠 곳(보통 master branch)로 checkout하기..!
빨리감기 병합: master 브랜치는 가만히 있고, 마치 빨리감기하듯 브랜치 내용이 업데이트되는 병합 기법

빨리감기 병합이 아닌 경우는? 두 브랜치를 병합한 새로운 커밋이 생성된다.

4-4. 충돌 해결하기
충돌은 같은 내용을 다르게 수정했을 때 발생한다.

충돌 대처법
1. 충돌을 해결한다.
(어떤 브랜치의 내용을 반영할지 직접 선별한다. => 반영할 내용만 빼고 지우기)
2. 다시 커밋한다.
충돌은 이 대처법만 기억하자..!!!
'오늘의 공부일기 > Git 공부일기' 카테고리의 다른 글
| README 작성하는법 & 사진 넣는 법 (0) | 2023.05.01 |
|---|---|
| #3 깃허브를 통한 협업 (풀 리퀘스트) (0) | 2023.04.11 |
| #1 Git에 대하여(git 환경설정, 기본 명령어) (0) | 2023.03.14 |