Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Lv. 3
- 백준
- Dynamic Programming
- Java
- DP
- group by
- 파이썬
- Lv. 2
- SQL 고득점 KIT
- Lv. 1
- 자바스크립트
- javascript
- programmers
- 소프티어
- level 3
- Baekjoon
- Lv. 0
- 티스토리챌린지
- bfs
- LEVEL 2
- softeer
- join
- 오블완
- 동적계획법
- Python
- SQL
- dfs
- 프로그래머스
- 너비 우선 탐색
- 깊이 우선 탐색
Archives
- Today
- Total
몸과 마음이 건전한 SW 개발자
GIT 사용법 정리 (2025-03-18) 본문
728x90
1. 브랜치 관리
브랜치 생성 및 전환
- git branch <브랜치명> : 새로운 브랜치 생성
- git checkout <브랜치명> : 해당 브랜치로 이동 (구버전)
- git switch <브랜치명> : 해당 브랜치로 이동 (권장)
- git switch -c <브랜치명> : 브랜치 생성과 동시에 전환
브랜치 삭제
- git switch <다른 브랜치> : 삭제 전 다른 브랜치로 이동
- git branch -D <브랜치명> : 병합되지 않은 브랜치 강제 삭제
- git branch -d <브랜치명> : 병합된 브랜치 삭제
- 원격 브랜치 삭제 순서:
- git branch -d <브랜치명>
- git push origin --delete <브랜치명>
- git fetch
- git pull
- (필요 시) git push
2. 브랜치 병합
- git switch <병합할 브랜치> : 병합할 브랜치로 이동
- git merge <브랜치명> : 해당 브랜치를 현재 브랜치에 병합
- git push origin <현재 브랜치> : 병합 후 원격 저장소에 반영
Fast-forward 병합 전략
- git switch dev → git pull origin dev (최신화)
- git switch <기능 브랜치> → git merge dev (병합)
- git push origin <기능 브랜치>
- git switch dev → git pull (최신화)
- git merge <기능 브랜치> → git push origin dev
- dev에서 문제 없으면 main으로 PR 후 병합 진행
- 테스트 완료 후 PR 생성
- 본부장님께 해당 업무 보고
- main으로 병합 후 먼데이 링크 추가
- 해당 내용 요약 작성
3. 새 브랜치 원격 저장소에 올리기
- git push -u origin <브랜치명> : 브랜치를 원격에 등록
- 이후부터는 git push 만으로 푸시 가능
4. 브랜치 목록 조회
- git branch -a : 로컬 및 원격 브랜치 모두 표시
- git branch : 로컬 브랜치만 표시
- git branch -r : 원격 브랜치만 표시
- git branch -v : 각 브랜치의 마지막 커밋 정보 표시
5. 롤백 (이미 push한 경우)
특정 커밋으로 되돌리기
- git log : 해시값 찾기 (예: commit abc123...)
- git revert -m 1 <해시값>
- -m 1 : 병합된 브랜치에서 되돌릴 경우 사용
- :wq 입력 후 저장
- git push origin <브랜치명> : 원격 반영
최신 커밋 되돌리기
- git reset --soft HEAD~1 : 가장 최근 커밋 취소 (파일 유지, 스테이지 보존)
- git reset --mixed HEAD~1 : 가장 최근 커밋 취소 (파일 유지, 스테이지 해제)
- git reset --hard HEAD~1 : 가장 최근 커밋 완전 삭제 (복구 불가)
- git push --force : 강제 푸시 (주의 필요)
6. 기타 유용한 명령어
- git stash : 현재 작업을 임시 저장 (커밋 없이 변경사항 숨김)
- git stash pop : 임시 저장된 변경 사항 적용
- git rebase -i HEAD~3 : 최근 3개의 커밋을 인터랙티브 리베이스
- git cherry-pick <해시값> : 특정 커밋을 현재 브랜치로 가져오기
- git log --oneline --graph : 한 줄씩 그래프 형태로 로그 확인
728x90