[Beyond SW] 1일차, 2일차 내용정리(Git&GitHub)

이경민·2025년 9월 22일

한화시스템 Beyond SW

목록 보기
6/40

20250918
형상관리
: 소프트웨어 개발과정에서 구성요소의 변경사항을 체계적으로 추적하고 관리하는 활동
협업 시 일관성 유지, 이전상태로 되돌아 갈 수 있도록함.
버전관리, 변경추적, 협업지원(충돌방지), 품질보장

Git (파일 자체 버전관리에 관여)

  • 로컬 컴퓨터에서 작동
  • 브랜치(복사본) 생성 및 병합
    GitHub (협업 중심)
  • 원격 저장소
  • 코드 리뷰 및 이슈 관리 (협업)

절대경로: 그냥 경로
상대경로: 현재 있는 폴더 기준으로 상위폴더와 하위폴더

cd .. : 상위 경로
cd . : 현재 경로

git init을 통해 .git folder 만들어짐. (main) 생김
.git folder : Stagging Area + Local Repository
.git folder 없애면 태초마을~
.git folder를 지우지 않는한 local에만 commit을 해둬도 원복이 쉬움

[ Working Directory ] --git add--> [ Staging Area ]
                                   |
                              git commit
                                   ↓
                         [ Local Repository ]
                                   |
                              git push
                                   ↓
                         [ Remote Repository (GitHub 등) ]

브랜치

  • Git 저장소 내에서 특정 시점의 커밋을 가리키는 포인터
  • Git 저장소 생성 시 기본 브랜치 main 생성됨
  • 새로운 브랜치를 생성하면 기존 코드에 영향을 주지 않고 독립적인 작업 수행 가능

Branch 명령어
git checkout : 브랜치 전환, 파일 복구 등 다양한 용도 가짐.
git switch : 오직 브랜치 전환만을 목적으로함. (git switch -c : 새브랜치 생성, 해당 브랜치로 전환)
(둘중 뭐를 쓰든 상관없음)
switching하려면 그전에 commit 필수! 아니면 add 해놓은거 다 날아감

20250919

Merge (병합)
새로 만든 브랜치를 main으로 병합
main으로 가서 git merge
병합 완료되면 브랜치 삭제

confilict 발생 시
문서 내용 합쳐짐
문서 고치고 main에서 add, commit, merge

origin은 remote repository
main은 local repository

git push -u origin main
한번 하고난 이후에는 git push만 적어도 잘 올라감
-u를 넣어줬기 때문에 앞으로 push/pull 기본 대상을 origin/main으로 기억하라는 뜻이 담김

repository 만들때 README 파일 포함하면
.git 파일이 자동으로 만들어짐. 따라서 git init할 필요 없음.

나의 원격 repository에서 sync fork 하면 (github에서 클릭)
다른 사람들 소스가 다 들어옴 (원격 레포지토리가 최신화됨)

git pull 하여 로컬 레포지토리 갱신 하면
다른 사람들 소스가 내 컴퓨터(로컬)로 다 들어옴

pull request (github에서)하면 fork담당자가 승인해줌

0개의 댓글