오늘은 GitHub에 올리고 공유하는 방법!

지난 포스팅에서 Git, Github에 대해서 알게되었죠!!

집에서 컴퓨터로 작업했던 코드를 다른 컴퓨터에서 사용하고 싶을경우, 팀프로젝트, 협업을 할 때 공유하고 싶을 때

이 모든 상황을 해결해 줄 열쇠가 Github와 push, clone명령어가 있습니다!!

1. Github에 원격 저장소(Remote Repository) 만들기

내 컴퓨터의 Git 저장소(로컬 저장소)를 올릴 온라인상의 집, 즉 원격 저장소를 GitHub에 먼저 만들어야 합니다.

1) Github에 로그인한 후, 우측 상단의 New repository를 클릭합니다.

2) Repository name에 원하는 프로젝트 이름을 적어주면 됩니다!(보통 로컬 폴터 이름과 똑같이 합니다.)

3) Public(공개) / Private(비밀 / 내가 초대한 사람만 볼수있음) 중 하나를 선택합니다.

4) Add README 는 선택입니다.

5) Create Repository를 누르면 됩니다.

위에 순서대로 입력하면 repository가 만들어진다.

2. 내 코드를 GitHub에 올리기 (push)

이제 내 컴퓨터에 있는 프로젝트를 방금 만든 GitHub 원격 저장소로 밀어 올릴(push) 차례입니다.

그 전에 Git Bash가 처음일 경우 초기 설정이 필요한데요.

$ git config --global user.name [Github 이름]
$ git config --global user.email [Github 이메일]

그 다음 단계에서 Git Bash나 PowerShell로 돌아가서 프로젝트가 있는 경로로 간 다음

$ git init  #.git 파일을 생성합니다.
$ git add .  # 뒤에 있는 .은 모든 파일을 의미합니다.
$ git commit -m "message"  # message에는 로그를 작성하면 됩니다.
$ git branch -M main  # 이름이 main인 branch를 만듭니다.
$ git remote add origin https://github.com/kyuchani/Project-name.git  # 원격저장소와 연결
$ git push  또는  $ git push origin main

이렇게 하면 git push가 되고 내 github에 프로젝트가 올라가게 된다.

3. Github에 있는거 들고 오기 (clone)

이제 Github 원격 저장소에 있는 프로젝트를 내 컴퓨터로 가지고 올 차례입니다.

클론(clone)을 할려면 Git의 저장소의 주소를 알아야합니다.

# https 형식
https://github.com/[username]/[Repository_name].git

# SSH 형식
git@github.com:[username]/[Repository_name].git

저장소에서 복제하기 위해 git clone 명령어의 기본적인 사용법

$ git clone [repository_url] [dir]

클론한 저장소의 원격 저장소 위치 확인하기

$ git remote -v

특정 브랜치(태그)만 클론하기

$ git clone --branch [tag] [repository_url]

4. 실무에서 자주 사용하는 Git 명령어들

상태 확인 및 관리

# 현재 상태 확인
$ git status

# 변경사항 확인
$ git diff

# 커밋 히스토리 확인
$ git log --oneline

# 이전 커밋으로 되돌리기
$ git reset --hard HEAD~1

브랜치 관리

# 브랜치 목록 확인
$ git branch

# 새 브랜치 생성 및 이동
$ git checkout -b feature-branch

# 브랜치 병합
$ git merge feature-branch

# 브랜치 삭제
$ git branch -d feature-branch

업데이트 및 동기화

# 원격 저장소의 최신 변경사항 가져오기
$ git pull origin main

# 원격 저장소 정보 확인
$ git remote -v

# 원격 저장소 변경
$ git remote set-url origin [new-url]

5. 충돌 해결 (Conflict Resolution)

팀 프로젝트에서 여러 사람이 같은 파일을 수정할 때 충돌이 발생할 수 있습니다.

# 충돌 발생 시
$ git pull origin main

# 충돌 파일을 수동으로 수정한 후
$ git add .
$ git commit -m "Resolve merge conflict"
$ git push origin main

6. .gitignore 파일 활용

프로젝트에 포함하지 않아야 할 파일들을 지정합니다.

# .gitignore 파일 생성
$ touch .gitignore

# 예시 내용
node_modules/
*.log
.env
.DS_Store

7. 커밋 메시지 컨벤션

의미 있는 커밋 메시지를 작성하는 것이 중요합니다.

# 좋은 커밋 메시지 예시
$ git commit -m "feat: 사용자 로그인 기능 추가"
$ git commit -m "fix: 로그인 버그 수정"
$ git commit -m "docs: README 파일 업데이트"
$ git commit -m "style: 코드 포맷팅 수정"

8. GitHub 웹에서 할 수 있는 것들

  • Issues: 버그 리포트나 기능 요청
  • Pull Request: 코드 리뷰 및 병합
  • Wiki: 프로젝트 문서화
  • Releases: 버전 관리
  • Actions: 자동화된 CI/CD

9. 실무 팁

  1. 작은 단위로 자주 커밋: 기능별로 나누어 커밋
  2. 의미 있는 커밋 메시지: 무엇을, 왜 변경했는지 명확히
  3. 브랜치 전략: main, develop, feature 브랜치 활용
  4. 정기적인 push: 작업 내용을 자주 백업

10. 보안 관련

# SSH 키 생성
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

# SSH 키 등록 후 사용
$ git clone git@github.com:username/repository.git

이렇게 github에서 코드 올리고 가져오는 법을 작성했습니다

모두 열심히 한 프로젝트들 잃어버리지 맙시다!!!


마무리

Git과 GitHub는 현대 개발에서 필수적인 도구입니다. 이 가이드를 통해 기본적인 사용법부터 실무에서 필요한 고급 기능까지 익혀보세요.

꾸준한 연습과 실습을 통해 Git을 마스터하고, 더 효율적인 개발 환경을 구축해보세요!

더 궁금한 점이 있으시면 댓글로 남겨주세요! 🚀

댓글남기기