20250918
형상관리
: 소프트웨어 개발과정에서 구성요소의 변경사항을 체계적으로 추적하고 관리하는 활동
협업 시 일관성 유지, 이전상태로 되돌아 갈 수 있도록함.
버전관리, 변경추적, 협업지원(충돌방지), 품질보장
Git (파일 자체 버전관리에 관여)
절대경로: 그냥 경로
상대경로: 현재 있는 폴더 기준으로 상위폴더와 하위폴더
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 등) ]
브랜치
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담당자가 승인해줌