https://github.com/meeyoungchoi-front-dev/git-practice
깃 버전 관리 실습
https://github.com/meeyoungchoi-front-dev/git-practice
Last synced: 3 months ago
JSON representation
깃 버전 관리 실습
- Host: GitHub
- URL: https://github.com/meeyoungchoi-front-dev/git-practice
- Owner: meeyoungchoi-front-dev
- Created: 2024-08-13T04:12:21.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-08-16T02:41:58.000Z (11 months ago)
- Last Synced: 2025-02-08T09:30:55.255Z (5 months ago)
- Size: 4.4 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 정리
## 하나의 버전이 만들어지는 과정
### 작업 디렉터리 내에서 변경 사항 생성
### 스테이지로 add
### 저장소로 commit (커밋메시지: 버전에 대한 설명)

## 커밋에 대한 태그

# 이미 만들어진 버전을 되돌리는 두 가지 방법
## revert : 버전을 되돌린 새로운 버전을 만든다
- 기존에 만들어 뒀던 버전은 유지가 된체 버전을 되돌린 새로운 버전을 만드는것

## reset : 버전을 완전히 되돌린다 (만들어뒀던 작업 내역들이 사라지게 된다)
1. soft : 저장소로 커밋하기 만 되돌리는 단계



- 커밋을 했다라는 사실만을 되돌린 것이다
- 따라서 파일상태 변경사항에는 남아있게 된다2. mixed : 스테이지로 추가했다는 사실까지 되될리는 단계
3. hard : 작업 디렉터리에서 변경 사항을 생성했다는 사실까지 되돌리는 단계# 작업을 임시저장하는 방법 (stash)


# 브랜치로 나누어 관리하기
## 브랜치란 : 버전의 흐름, 버전




## 브랜치란 : 버전의 흐름, 버전브랜치란 : 버전의 흐름, 버전브랜치란 : 버전의 흐름, 버전브랜치란 : 버전의 흐름, 버전## 브랜치 이름
- 예) feature/menu 브랜치 (메뉴 기능 추가를 위한 브랜치)
- 예) hotfix/login 브랜치 (로그인 기능을 급하게 수정하기 위한 브랜치)
- 예) release/2.3.0 브랜치 (2.3.0 버전 릴리스를 위한 브랜치)## 특정 브랜치에서 작업하기 : HEAD와 체크아웃
1. Head
+ 현재 작업중인 브랜치의 최신 커밋을 가리킨다
+ 내가 지금 어디에서 작업중인지를 가리킨다2. 체크아웃
+ 특정 브랜치에서 작업할 수 있도록 작업 환경을 바꾸는것
+ HEAD의 위치를 특정 브랜치의 최신 커밋으로 옮기는 것## 브랜치를 합친다 merge






## 브랜치 충돌




## 위 4번째 그림에 대한 설명
<<<<<<< HEAD
a-1.txt 파일의 같은 내용을 다르게 수정 <------------------- 현재 브랜치 (master) 브랜치 내용
=======
foo <-------- foo 브랜치 내용
>>>>>>> foo## master 브랜치의 내용으로 병합하여 충돌 해결

## a-1.txt 파일을 열어보면 master 브랜치의 내용이 반영이 되어 있다
## foo branch와 master branch를 병합했을때 나오는 새로운 branch
# rebase branch




# 깃허브와 소스트리 연동하기
## SSH
+ 깃허브와 컴퓨터가 안전하게 통신을 주고받을 수 있는 방법
+ 공개키, 개인키 암호가 필요하다
+ ssh-keygen


# 깃허브로 협업하기
## 원격 저장소와의 네 가지 상호작용### clone
+ 원격 저장소를 복제하기
+ .git 숨김폴더 도 같이 복제된다#### 원격 저장소 브랜치 이름
+ main 브랜치 == master 브랜치
+ origin == 원격 저장소에 붙은 일종의 별명
+ origin/HEAD == 원격 저장소 origin의 HEAD
+ origin/main == 원격 저장소 origin의 main### push
+ 원격 저장소에 밀어넣기### fetch
+ 원격 저장소를 일단 가져만 오기### pull
+ 원격 저장소를 가져와서 합치기