Branch: Git으로 협업하기
- Branch: 시간순으로 최신 커밋을 ‘master’ 브런치가 가리킨다. master 브랜치를 기준으로 새 브랜치를 생성한다.
- HEAD: 과거/최신 브랜치(커밋)를 넘나들 수 있다
- merge: [master] 브랜치에 n개의 버전의 합집합을 구하는 것
- Merge Commit(병합 커밋): 새로운 커밋
- Fast-forward(빨리 감기): 기존 커밋과 같아서 이동만 하면 되어서 빨리 감기라고 한다
- Conflict(충돌): 충돌이 난 부분을 확인하고 무엇을 남길지 수동으로 선택
- Pull Request: 협력자에게 병합 요청 메시지를 보내는 것
의의 | 장점 | 단점 | |
branch | 하나의 원본저장소에서 분기를 나눈다 | 하나의 원본저장소에서 코드 커밋 이력을 편하게 볼 수 있다 | 다수의 브랜치를 만들면 관리하기 어렵다 |
fork | 여러 원격저장소를 만들어서 분기를 나눈다 | 원본저장소에 영향을 미치지 않고 마음껏 코드를 수정할 수 있다 | 원본저장소의 이력을 보려면 따로 주소를 추가해야한다 |
Git Bash
Git 커밋 관리
- fork: 남의 원본저장소를 복사해서 내 계정의의 GitHub에 원격저장소로 복사해 오는 명령어
- clone: 원격저장소를 소스트리를 통해 로컬저장소로 가져온다
- pull request: 원격저장소에서 원본 저장소로 풀 리퀘스트를 보낸다
- merge: 풀 리퀘스트를 승인하고 병합한다
- rebase: 묵은 커밋을 새 커밋으로 이력을 조작한다
- amend: 마지막 커밋 수정하기
- cherry-pick: 원하는 커밋만 떼서 현재 브랜치에 붙인다
- reset: 옛날 커밋으로 브랜치를 되돌린다
- revert: 커밋의 변경사항을 명시적으로 되돌린다
- stash: 변경사항을 잠시 따로 저장한다
Git Bash 명령어 정리
- pwd: 현재 폴더 위치 확인
- ls -a : 현재 폴더 파일 목록 확인 (-a 옵션: 숨김 파일도 리스트업)
- cd: 홈(root) 폴더로 이동. 홈 폴더는 ㅅ용자 이름과 폴더명이 같고 내 문서 폴더의 상위 폴더
- cd <폴더 이름>: 특정 위치의 디렉토리로 이동
- cd ../ : 현재 폴더의 상위 폴더로 이동
- mkdir <새폴더이동>: 현재 폴더 아래에 새로운 폴더 생성
- echo “Hello Git”: 메아리라는 뜻. 화면에 “” 안의 문자열을 표시한다
- git status: Git 워킹트리의 상태를 보는 ㅁ여령어
- git config: git 옵션 설정을 보거나 값을 변경할 수 있다
- Git 저장소 초기화
$ git init # Git 저장소 생성
ls -a # 파일 목록 확인 -> [.git] 숨김 폴더
git status # 워킹 트리 상태 확인
Git 용어 정리
- 워킹 트리(=워킹 디렉토리=작업 디렉터리 = 작업 폴더): 사용자가 작업 결과물을 저장하는 곳. 작업폴더에서 [.git] 로컬 저장소를 뺀 나머지 부분을 워킹트리라고 한다.
- 로컬 저장소: git init 명령어로 생성되는 [.git] 폴더
- 원격 저장소: 로컬 저장소를 업로드하는 곳 (GitHub Repository)
join은 동일 회원 아이디로 가입 보냈을 때 에러 뜨고
login은 응답코드, 토큰 발급 뜨고
post는 전송 했을 때 body가 그냥 빈 공백이에요
'Git' 카테고리의 다른 글
[Git] push 시 [!rejected] 에러가 뜬다면 어떻게 해결할까? (0) | 2023.07.14 |
---|---|
[Git] Git vs SVN (0) | 2023.07.14 |
[Git] Git 초기설정, 인텔리제이에 깃을 연동하고 로컬 저장소에서 원격 저장소에 커밋하기 (0) | 2023.07.14 |
SourceTree에 Github를 연동하고 Branch를 생성해보자 (0) | 2023.04.05 |