[Git & Github]

깃허브 파일 업로드, 프로젝트 올리기

indongspace 2024. 6. 25. 19:07

 

내 컴퓨터의 파일을 깃허브에 올리는 과정은,

1) 깃허브에 '원격 저장소'를 만든다.

2) 내 컴퓨터(=올리려는 파일이 있는 폴더)에 '로컬 저장소'를 만든 후

3) 둘을 연결해서 로컬 저장소의 파일을 원격 저장소로 보내라고 명령하는 방식이다.

 

 

1. 깃허브에 원격 저장소(repository) 만들기

깃허브 페이지의 'Repositories' 탭에서 저장소 생성

'New' 버튼 클릭
이름을 비롯한 여러가지 설정을 완료한 뒤 'Create repository' 로 생성

 

 

2. 로컬 저장소 만들기

깃허브에 올리고자 하는 파일 폴더

내 컴퓨터 폴더 중, 깃허브에 올리고 싶은 폴더의 'Git bash'를 열어준다.

'Git bash' : git 명령어를 쓸 수 있는 명령창

 

# 로컬 저장소 만들기
git init

폴더 안에 '.git' 이라는 폴더가 생성된다.

 

 

3. 로컬 저장소와 원격 저장소 연결

원격 저장소에서 '< >Code' 버튼 누르고 HTTPS 주소를 복사한다.

# 원격 저장소와 연결
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 브랜치 이름

 

README.md 파일이 추가된 것을 확인할 수 있다

 

 

파일 올리는 단계는 총 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은 조금 더 신중해야 한다.

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