협업을 위한 Git 활용

최길중·2026년 1월 7일

github 정리

1-1)
다양한 플랫폼: Gitlab / Gerrit / BitBucket

1-2)
Working Directory / Staging Area / git directory
Working Tree: 3개 다 다님
Working Directory: 쉽게 말하면 인텔리제이
Stage Area: 가상 공간
Local Directory: commit
git commit: 실행시 git directory
snapshot: 특정 시점의 commit으로 돌아감
head: 특정 브랜치의 최신 커밋
Branch: 내 구역이야
Merge: 검사 해줘
git log: 로그 보기

1-4)
초기 설정:
tools -> Terminal -> 변수 설정("C:\Program Files\Git\bin\sh.exe" -login –i)
git init: git에 대한 초기화이므로 저장소를 초기화
git add: 커밋 작업 기록
git commit: 명시적으로 기록(저장)
git status: 사냥꾼

2-2)
reset: 지우개로 과거 페이지를 완전히 지움.
restore: 책의 특정 페이지를 복구.
revert: 틀린 내용을 고치고 새 노트를 추가.
reset —soft: 망령 해적검
reset --mixed (기본 값): 준비된 내용은 테이블에 놓아두고, 다시 작업해야 하는 상태
reset —hard: 환생
git restore <파일>: 수정 중인 파일을 복원
git restore --staged <파일>: 스테이징 해제
git revert <커밋>: reset은 커밋 자체를 삭제했다면, revert는 커밋을 취소하는 메세지를 남기되, 커밋 자체는 기록에 남기는 행위
git revert HEAD: 직전 값으로
git revert –n <커밋>: 취소의 취소

2-3)
git branch: 사용중인 브랜치 확인
git branch cherry-pick: 채리픽 브랜치 생성
git checkout main: 메인으로 이동
git checkout fullstack/giljung: 내 브랜치로 이동
Pull Request: 통지서
Merge: 제발 허락해 듀오

4-2)
grep.app: github 한정 코드만 찾아주는 도구


문제 5번

충돌 주의
$ git rev-parse HEAD
e2a88230070fe0e6f452eea7660a2450dddd05b2

충동 일으키기 시나리오(CSS)
1
git checkout –b conflict-a
수정 내용은: 팀원 역할 안내 A

2
git add readme.md
git commit -m "conflict-a 수정“

3
git checkout main
git checkout -b conflict-b
수정 내용은: 팀원 역할 안내 B

4
git add readme.md
git commit -m "conflict-b 수정“

5
git checkout main
git merge conflict-a
git merge conflict-b
그럼 충돌 꽈광!!
복구는 git merge —abort 아니면 해시태그 입력


도전과제

(다른 사람들과 협업을 하는거다 보니 시나리오를 작성해서 진행 해봤습니다. 무서워서...)
리셋만 하지말자, 이상한거 건들지 말자

내가 임의로 할때 입장: conflict-a, conflict-b

시나리오 1 css
A개발자 —main-font-color: #222425; -> #1a1a1a;로 수정
commit -> push -> pr -> merge

B개발자 --main-font-color: #000000; 로 변경
commit -> push -> pr -> merge!! 문제발생 Conflict
충돌 해결 화면 index.html에서 push

profile
개발자가 되고 싶어요

0개의 댓글