깃허브 접속해서 레포지토리 생성하기
https:// (원격 저장소 주소) 복사하기
올리고 싶은 폴더 및 파일에서 git bash 접속
기존 디렉토리를 Git 저장소로 만듬 (로컬 → 서버)
git init
→ 디렉토리 안에 .git 이라는 하위 디렉토리 생성된다.
로컬 저장소를 원격 저장소와 연결
git remote add origin 복사한 원격 저장소 주소
git remote -v
→ 버전 확인해보면 연결된 원격 저장소가 뜬다.
branch 명으로 master에서 main으로 변경하기
git branch -m master main
순서는 add → commit → pull → push 이다.
git add .
git commit -m "커밋 메세지"
git push origin main
→ pull은 원격저장소에 있는 내용을 한번에 내려받아서 최신 커밋과 내 로컬파일과 자동 병합하는 것이다. 원격저장소가 로컬저장소보다 더 최신 커밋이 있을때만 내려받으면 된다.
clone할 repository에 상단 코드를 클릭하면 HTTPS, SSH, CLI 등으로 클론할 수 있다. 이 주소를 복사해온다. (보통 HTTPS)
git clone 복사한 원격 저장소 주소
각자 코드 작성 (변경사항 만들기)
branch 생성하기
git branch # 현재 브랜치 확인
git checkout -b 브랜치 이름 # -b 옵션은 체크아웃과 동시에 '브랜치 이름'으로 이동 (기존에 없었다면 생성 후 이동)
branch 생성 규칙
먼저 이슈 생성하기 ex) [FEAT] 홈 화면
이슈 번호 연동하여 branch 생성
feature/#이슈번호/기능_설명
→ 이때 feature는 새로운 기능 개발, fix는 기존 기능 수정
branch 관련 명령어
git branch # 브랜치 목록 보여줌. * 표시가 현재 브랜치
git branch -r # 원격 브랜치 목록 조회
git branch -a # 로컬 브랜치 목록 조회
git branch 브랜치명 # 브랜치 생성
git branch -d 브랜치명 # 브랜치 삭제
git branch -m 브랜치명(기존) 브랜치명(변경할) # 브랜치명 변경
git checkout 브랜치명(원격) # checkout 한 브랜치에 적히 코드들을 가져올 수 있지만, 반영되지는 않음.
git checkout -t 브랜치명(원격) # 로컬 브랜치에 적용하고 싶다면 (tracking 하고 싶다면 -t 옵션 적용)
git checkout -b 브랜치명(생성할) 브랜치명(원격) # 원격 브랜치 가지고 오면서 로컬 브랜치명 원하는 이름으로 설정하기
git switch 브랜치명 # 특정 브랜치로 이동
git switch -c 브랜치명 # 특정 브랜치 생성 및 이동 (= git checkout -b 브랜치명)
add → commit → pull → push ( 변경사항이 있다면 제발 pull 하기 전에 commit하기)*
git status # 현재 변경사항이 있는지를 보여줌.
git add 변경된 파일 # status로 확인한 변경된 파일명 입력
git commit -m "커밋 메세지" # add 한 파일의 변경사항에 대한 간단한 설명
git status # 다시 확인해서 방금 커밋한 파일이 변경사항에서 사라졌는지 확인
git pull
git push
# 만약 브랜치 생성 후 첫 push 라면
git push --set-upstream origin 브랜치명 # 원격에는 내가 로컬에서 생성한 브랜치가 없기 때문에 생성해주어야 한다.
→ 새 브랜치에서 push까지 마치고 원격 저장소로 가면 자동으로 변경사항에 대한 Pull Request를 만들라고 한다. 없어도 그냥 [Pull Request] 가서 생성하면 됨.
commit 메세지 작성 규칙
feat: #이슈번호 기능_설명
ex)
feat: #1 홈 화면 완료
fix: #1 홈 화면 최근 본 상품 수정
git log # 커밋 로그가 최신순으로 쭉 나옴.
git reset HEAD^ # 최근 1개 commit 취소하기
git reset HEAD^^ # 최근 2개 commit 취소하기
git reset HEAD~n # 최근 n개 commit 취소하기
→ reset 시에는 반드시 add, commit 후 push 할때 force push 해야한다. (위험할수도…)
git push -f # force push