Programmers

Github 연결, 업로드, clone, branch

PARKpatchnotes 2025. 9. 1. 15:30

 

Github 리포지토리 생성 후 Github와 연결하고 로컬 환경에 있는 파일을 올리기, 올려져 있는 파일을 내려받아 사용하기 실습을 진행하였다. 그리고 브랜치(branch)에 대한 개념과 실습을 진행하였다.

깃허브 새로운 리포지토리 만들기
만들어진 리포지토리
git remote add origin [원격저장소url] 하여 로컬파일과 깃 리포지토리 연결
git push origin master, 로컬파일을 깃에 업로드
리포지토리에 업로드된 파일
깃 브랜치 만들기 및 브랜치 변경 CLI
clone 명령어를 이용해 다른 컴퓨터에서 CLI로 내려받아 보았다.
다른 컴퓨터에서 push한 업데이트 항목을 pull 해보았다.

 

 

 

브랜치(Branch): 독립적인 작업 흐름을 만드는 방법

Git의 브랜치는 '독립된 작업 공간' 혹은 **'프로젝트의 복사본'**으로 비유할 수 있다. 공식적으로는 특정 커밋을 가리키는 '포인터'라고 정의하지만, 협업의 관점에서는 **'원본은 그대로 두고, 새로운 기능을 안전하게 개발하는 별도의 흐름'**으로 이해하면 된다.

중요한 원본 문서는 그대로 보존한 채, 복사본을 만들어 자유롭게 수정하는 것과 같은 원리이다. 이때 만들어진 복사본이 바로 '브랜치'가 된다.

그렇다면 왜 브랜치를 사용하는가?

"하나의 main 브랜치에서 모두가 함께 작업하면 되지 않는가?" 물론 하나의 공간에서 모든 작업을 처리할 수 있다. 하지만 여러 개발자가 하나의 프로젝트 위에서 동시에 각기 다른 기능을 만든다고 상상해 보자. 누가 어느 부분을 수정하는지 파악하기 어렵고, 다른 사람의 작업으로 인해 내 코드가 망가질 위험도 존재한다.

브랜치는 바로 이러한 혼란을 방지하고 체계적인 관리를 위해 사용한다.

안전한 개발 환경 보장 main 브랜치는 항상 안정적으로 실행되는 버전으로 유지한다. 새로운 기능 개발이나 버그 수정은 별도의 브랜치에서 진행하므로, 개발 과정에서 오류가 발생해도 메인 프로젝트의 안정성에는 영향을 주지 않는다.

독립적인 동시 작업 가능 A 개발자는 '로그인 기능' 브랜치에서, B 개발자는 'UI 개선' 브랜치에서 각자의 작업을 독립적으로 진행할 수 있다. 서로의 작업이 섞이지 않아 충돌을 최소화하고, 팀 전체의 개발 속도를 높인다.

체계적인 기능 관리 '기능-A', '긴급-버그수정'처럼 브랜치에 명확한 이름을 부여하면, 어떤 작업이 어디서 진행되고 있는지 한눈에 파악하기 쉽다. 특정 기능에 문제가 생겼을 때 해당 브랜치의 변경 이력만 추적하면 되므로 유지보수가 용이해진다.

결론적으로 브랜치는 프로젝트의 안정성을 지키면서, 여러 작업을 독립적이고 동시에 진행하기 위해 사용하는 핵심 기능이다. 각자의 '복사본'에서 작업을 완료한 뒤, 검증이 끝나면 원본에 안전하게 통합하는(Merge) 방식으로 효율적인 협업을 가능하게 한다.

 

사용된 Git 명령어 정리

  • git config --get init.defaultBranch : 초기 브랜치 이름 확인
  • git config --global init.defaultBranch 변경이름 : 초기 브랜치 이름을 원하는 이름으로 변경
  • git remote -v : 현재 어떤 원격저장소와 연결되어 있는지 확인
  • git remote add 원격저장소별칭 원격저장소url : 로컬에 있는 Git 환경에 원격저장소(Github 리포지토리)와 연결
  • git remote remove
  • git branch -M 이름 : 브랜치의 이름을 변경
  • git push [원격저장소별칭] [올리고싶은브랜치] : 로컬의 브랜치의 모든 사항을 Github의 리포지토리로 업로드
  • git clone [원격저장소url] : 원격저장소에 있는 모든 이력을 다운
  • git pull [원격저장소별칭] [내려받을브랜치] : 원격저장소의 변경사항들을 로컬 Git 폴더로 가져온다
  • git branch : 브랜치 목록을 보여줍니다. *는 현재 브랜치를 의미
  • git branch [이름] : 이름을 가진 브랜치를 새로 생성
  • git checkout [브랜치이름] : 해당 브랜치로 이동. 브랜치이름 대신 '-(하이픈)'을 사용한다면 이전 브랜치로 이동

 

 

 

 

 

 

 

 

 

'Programmers' 카테고리의 다른 글

[6일차]웹 생태계의 이해와 HTML  (0) 2025.09.04
[5일차]프로젝트 관리 솔루션  (0) 2025.09.03
[4일차] Git Marge  (0) 2025.09.02
git과 git 실습  (1) 2025.08.29
마크다운과 VCS (Version Control System)  (2) 2025.08.28