컴퓨터 파일의 변경사항 추적하고
여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한
스냅숏 스트림 기반의 분산 버전 관리 시스템😎
👉 자신이 작성한 소스 코드를 기록 저장하며
협업 하며 프로젝트 만들 때 서로 소스 코드 공유하고
서로 작성한 소스 코드들을 하나로 합칠 수 있게 해주는 시스템🔥

git --version
# 밑에 버전 나오는 잘 설치된 것
.gitconfig
# 여기에 모든 설정 파일이 있음
# . 으로 시작하면 숨겨져있는 파일인 것
Git➡소스 코드 기록 관리하는 오픈 소스 버전 제어 도구
GitHub➡Git 리포지토리를 위한 호스팅 서비스
즉, Git은 도구이고 GitHub는 Git을 사용하는 프로젝트를 위한 서비스
git config --global user.name "본인 이름"
git config --global user.email "본인 이메일"
# 잘 설정 됐는지 확인하는 명령어
git config user.name
# 본인 이름 나오면 잘 된 것
git config user.email
# 본인 이메일 나오면 잘 된 것
소스 작성할 폴더 만들기 git-test


만든 폴더 vsCode( 로컬 )로 끌어오기
🔗이제 원격이랑 로컬하고 연결해야함
아까 저장소 이름을 github-test 라고 했으니까
이니셜라이즈의 약자 init


만약 이렇게 뜨면 이 명령어 하면 됨
README.md 파일 생성된 걸 볼 수 있음
gitHub에 잘 올라 온 것도 볼 수 있음
test.js 파일 만들고 hello 입력했는데 그럼 변경사항이 생긴거니까 ( 작업 디렉토리 )


옵션 -am : git add랑 git commit 합친 것


원격 저장소에 올리고 싶으면 : git push

Git에서 브랜치 생성, 삭제, 목록 표시 등을 관리하기 위한 명령어❗
Git에서 브랜치는 특정 시점에서 코드의 "스냅샷"을 저장해두는 기능으로
새로운 기능 개발하거나 버그 수정할 때 원본 코드를 안전하게 유지하면서 작업 가능
git branch 브랜치 이름
# 현재 어떤 브랜치들이 있는지 알 수 있는 명령어
git branch
# 브랜치 이동하기
git checkout 브랜치 이름
git switch 브랜치 이름
# 브랜치 생성하고 이동하는 걸 한방에 하고 싶을 때 쓰는 명령어
git checkout -b 브랜치 이름
git switch -c 브랜치 이름
# 브랜치 이름 수정하기 -> test2를 test3으로 바꾸기
git branch -m test2 test3
# 브랜치 삭제하기
git branch -d 브랜치 이름
test 브랜치에서 코드 추가하고 저장
깃허브( 원격 )로 가보면 현재 main 브랜치 한개뿐
푸시까지하고

main 브랜치 test.js엔 hello 코드 밖에 없는 걸 볼 수 있음

git merge 브랜치 이름








🔹 git pull : 커밋 가져온 후 자동으로 병합( merge )을 시도
상황에 따라 달라지므로 가져온 모든 커밋이 현재 활성 브랜치에 병합됨
커밋을 먼저 검토하지 않고도 커밋을 자동으로 병합
👉 브랜치 신중하게 관리하지 않으면 자주 충돌 발생💥
🔹 git fetch : 현재 브랜치에 존재하지 않는
대상 브랜치에서 커밋을 수집하여 로컬 리포지토리에 저장
( 단, 현재 브랜치와 병합하진 않음❌ )
커밋의 값 기니까 인식할 정도만 이렇게 넣으면 됨👌 ( 커밋했던 거 리셋 )
깃에서 작업 도중 변경된 파일들을 임시로 저장하고
작업 디렉토리 깨끗하게 비워두기 위해 사용하는 명령어❗
GitHub Desktop에서도 이 기능 사용 가능

git stash 하니까 추가했던 한줄이 어디론가 사라지는 걸 볼 수 있음




👥여기서 팀원들 초대하면 됨




프로젝트 생성하기

여기다 누가 이 기능을 만들건지 해주면 위임이 됨
이걸 이슈로 만들면 되는것




여러가지 사용해보고 본인한테 맞는거 쓰면 됨
이건 스펠링 많이 틀리는데 이거 사용하면 좋음