내 컴퓨터의 파일을 깃허브에 올리는 과정은,
1) 깃허브에 '원격 저장소'를 만든다.
2) 내 컴퓨터(=올리려는 파일이 있는 폴더)에 '로컬 저장소'를 만든 후
3) 둘을 연결해서 로컬 저장소의 파일을 원격 저장소로 보내라고 명령하는 방식이다.
1. 깃허브에 원격 저장소(repository) 만들기
깃허브 페이지의 'Repositories' 탭에서 저장소 생성
2. 로컬 저장소 만들기
내 컴퓨터 폴더 중, 깃허브에 올리고 싶은 폴더의 'Git bash'를 열어준다.
'Git bash' : git 명령어를 쓸 수 있는 명령창
# 로컬 저장소 만들기
git init
폴더 안에 '.git' 이라는 폴더가 생성된다.
3. 로컬 저장소와 원격 저장소 연결
# 원격 저장소와 연결
git remote add origin 원격저장소 주소
두 저장소가 연결된다.
# 연결된 원격 저장소 확인
git remote -v
# 기존 원격 저장소와의 연결 삭제
git remote rm origin
4. 파일 업로드 절차
깃허브 원격 저장소의 기본 branch 이름은 main이다. 따라서 파일도 main branch에 올려줘야 한다.
# 현재 브랜치 이름 확인
git branch -v
만약 원격 저장소를 만들때 README파일 생성을 추가했다면, 현재 원격 저장소에는 로컬 저장소에 없는 README.md 파일이 있을 것이다.
두 저장소의 상태가 같아지도록 먼저 로컬 저장소로 가져와줘야 한다.
원격 저장소에 있는 것을 로컬 저장소로 가져오는 것이 pull이다.
# 원격 저장소의 파일 가져오기
git pull origin 브랜치 이름
파일 올리는 단계는 총 3단계이다.
add -> commit -> push 순서
add는 마트에서 장바구니에 물건을 담는 행위,
commit은 계산대에서 물건을 계산하는 행위,
push는 구매한 물건을 들고 집(원격 저장소)으로 가는 행위에 비유할 수 있다.
add
추가할 파일의 이름을 'git add' 뒤에 적어준다.
# 파일을 staging area에 추가하기
git add 파일/디렉토리 이름
폴더 안에 있는 모든 파일을 올리려면 파일이름대신 '.' 을 사용하면 된다.
# 모든 파일을 staging area에 추가하기
git add .
'git add .' : 모든 변경된(마지막으로 원격 저장소의 파일을 가져온 시점으로부터 로컬 저장소에서만 작업한 내용) 파일을 추가하는 명령어
# 현재 브랜치에서 변경된 파일 목록 확인
git status
변경했거나 추가 혹은 삭제한 파일들의 목록이 빨간 글씨로 뜨는데(untracked files : 추적되지 않은 파일, 장바구니에 아직 안 담았다는 뜻),
add를 해준 뒤에 다시 status를 확인해보면 추적되었다는 뜻인 초록색으로 바뀐다.
# add한 파일 모두 취소
git rm --cached -r .
# 특정 파일만 add 취소
git rm --cached 파일
commit
앞서 add한 파일들을 확정하는 작업
물건을 담는 단계(add)에서는 물건이 마음에 들지 않으면 다시 진열대에 내려놓으면 되니 비교적 자유로웠다.
하지만 한번 계산대에서 계산을 한 뒤(commit)에는, 마음이 바뀌면 번거롭게 결제 취소를 해야 하니 복잡하다.
그러니 commit은 조금 더 신중해야 한다.
# 커밋하기
git commit -m "커밋 메시지"
push
마지막 단계. 원격 저장소로 파일을 올릴 차례이다.
로컬 저장소에 있는 것을 push해서 올려준다.
main 브랜치에 올릴 것이니 다음 명령어를 입력한다.
# 로컬 저장소에서 원격 저장소로 올리기
git push origin 브랜치 이름
push할 때 항상 main 브랜치에 푸시하도록 설정할 수도 있다.
# -u는 원격의 main 브랜치를 upstream브랜치로 설정하는 옵션이다
git push -u origin main
그 다음부터 push할 때는 브랜치 이름을 생략할 수 있다.
# push
git push
# pull
git pull
5. 이어서
원격 저장소와 로컬 저장소의 연결이 완료됐다.
앞으로 내 컴퓨터에서 작업을 이어 가면서
추가로 생긴 변경사항들을 계속해서 깃허브에 올릴 수 있게 된 것이다.
이제는 저장소를 만들거나 연결하는 등의 과정은 필요 없고,
add -> commit -> push의 절차만 진행하면 된다.
git pull origin main # pull에 해당하는 경우에만 사용
git add .
git commit -m "커밋 메시지"
git push origin main
요약
# 저장소 생성 및 연결
git init
git remote add origin 원격저장소 주소
# 파일 업로드
git pull origin main
git add .
git commit -m "커밋 메시지"
git push origin main
# 추가적인 명령어
git remote -v
git remote rm origin
git branch
git config --global init.defaultBranch 브랜치 이름
git status
git rm --cached -r .
git push -u origin main
'[Git & Github]' 카테고리의 다른 글
branch 전략 (git flow & github flow) (0) | 2024.10.02 |
---|---|
협업을 위한 git 명령어 (2) | 2024.10.02 |
깃허브 레포지토리 SSH 키 생성 (0) | 2024.10.01 |
작업 기록과 관련된 git 명령어 (0) | 2024.10.01 |
파일의 4가지 상태 (0) | 2024.10.01 |