728x90
반응형
SMALL
1. Git 기본 개념
- Repository (저장소)
- 로컬 저장소 Local Repository: 로컬 컴퓨터에 있는 저장소
- 원격 저장소 Remote Repository: GitHub 등 원격 서버에 있는 저장소
- Branch (브랜치)
- 독립적인 작업 공간
- main/master: 기본 브랜치
- feature: 기능 개발용 브랜치
- hotfix: 긴급 수정용 브랜치
- 원격저장소 연결 → 올리기
1. 원격 저장소와의 상호작용 관련 명령어
사용 시나리오
일반적인 Fork & Pull Request 워크플로우
# 1. upstream 저장소 등록 (최초 1회만)
git remote add upstream <https://github.com/original-owner/original-repository.git>
# 2. upstream 확인
git remote -v
# 3. upstream의 최신 변경사항 가져오기
git fetch upstream
# 4. 로컬 main 브랜치에 upstream의 변경사항 병합
git checkout main
git merge upstream/main
# 5. (fork가 upstream일때) 변경사항을 자신의 원격 저장소(origin)에 push
git push origin main
- fetch: 원격 저장소의 변경사항을 가져오기만 하고, 로컬 브랜치에 병합하지 않음
- push: 로컬 변경사항을 원격 저장소에 올릴 때 사용하는 URL
- pull: fetch + merge를 한 번에 수행 (바로 병합까지 실행)
- git fetch upstream : upstream 원격 저장소의 최신 변경사항을 로컬로 가져오는 명령어
# upstream 저장소 추가
git remote add upstream [URL]
# 특정 브랜치만 fetch
git fetch upstream [브랜치명]
# 모든 브랜치 fetch
git fetch upstream
# upstream 정보 확인
git remote -v
# upstream 삭제
git remote remove upstream
2. 로컬 저장소와의 상호작용 관련 명령어
# 저장소 생성
git init
# 파일 상태 확인
git status
# 파일 추가
git add <파일명>
git add . # 모든 변경사항 추가
# 커밋하기
git commit -m "커밋 메시지"
# 원격 저장소 연결
git remote add origin <원격저장소URL>
# 원격 저장소에 푸시
git push origin <브랜치명>
# 원격 저장소에서 가져오기
git pull origin <브랜치명>
- 1번은 주로 원격 저장소와의 상호작용에 중점을 둠. 특히, 원본 저장소(upstream)와의 동기화에 관련된 명령어들.
- 2번은 로컬 저장소에서의 작업과 관련이 있음. 로컬에서의 파일 상태 확인, 변경 사항 커밋, 그리고 개인 원격 저장소(origin)와의 상호작용에 중점을 둠.
3. 브랜치 관련 명령어
# 브랜치 생성
git branch <브랜치명>
# 브랜치 이동
git checkout <브랜치명>
git switch <브랜치명> # 최신 버전
# 브랜치 생성 및 이동
git checkout -b <브랜치명>
# 브랜치 목록 보기
git branch
# 브랜치 삭제
git branch -d <브랜치명>
4. 병합 관련
# 브랜치 병합
git merge <브랜치명>
# 충돌 해결 후
git add .
git commit -m "Merge conflict resolved"
5. 기타 유용한 명령어
# 변경 이력 확인
git log
git log --oneline # 한 줄로 보기
# 특정 커밋으로 되돌리기
git reset --hard <커밋해시>
# 마지막 커밋 수정
git commit --amend
# 변경사항 임시 저장
git stash
git stash pop # 임시 저장한 변경사항 적용
6. .gitignore
# .gitignore 파일 예시
node_modules/
.env
*.log
7. 자주 발생하는 상황별 해결방법
- 커밋 메시지 수정
git commit --amend -m "새로운 커밋 메시지"
2. 이전 커밋으로 되돌리기
# 커밋은 유지하고 이전 상태로 되돌리기
git revert <커밋해시>
# 커밋 이력도 삭제하고 되돌리기
git reset --hard <커밋해시>
3. 원격 저장소 강제 푸시
git push -f origin <브랜치명> # 주의: 팀 프로젝트에서는 사용 자제
728x90
반응형
LIST
'Git' 카테고리의 다른 글
Git desktop 사용 방법 (0) | 2025.03.20 |
---|---|
내가 한 작업 upstream에 올리기 (0) | 2025.03.20 |
Git - upstream의 변경사항을 로컬로 merge (0) | 2025.03.20 |
Git - merge 개념 (0) | 2025.03.20 |
origin/upstream (0) | 2025.03.20 |