Version/Git

[Git] 로컬 저장소에서 원격 저장소로 클론 만들기

nowkoes 2023. 8. 11. 17:49

Git Clone

개요

 개발 환경이 데스크톱과 노트북 모두를 사용해야 하는 상황에서는 파일들을 저장하는 서버가 필요하다. 클라우드 스토리지도 하나의 옵션이지만, 개발자들은 주로 아래와 같은 이유로 GitHub와 같은 원격 저장소를 선호한다.

 

  • 버전 관리: Git은 소스 코드의 모든 변경 사항에 대한 이력을 추적한다. 이를 통해 특정 시점으로 롤백하거나, 누가 어떤 변경을 했는지, 왜 변경했는지에 대한 정보를 알 수 있다. 클라우드 스토리지는 이러한 종류의 상세한 버전 관리를 제공하지 않는다.
  • 브랜칭과 병합: Git에서는 브랜치를 통해 동시에 여러 기능이나 버그 수정을 개발한다. 이후에는 이러한 브랜치를 병합하여 주 브랜치에 변경 사항을 반영할 수 있다. 이는 팀에서 동시에 여러 작업을 진행할 때 유용하다.
  • 코드 리뷰: GitHub 같은 플랫폼은 Pull Request(PR) 기능을 제공하여 다른 개발자들이 코드 변경 사항을 검토하고 피드백을 제공한다.
  • 협업: GitHub는 이슈 추적, 프로젝트 관리, 위키 등 다양한 협업 도구를 제공한다. 이를 통해 팀원들과 소통하고 작업을 조율한다.
  • 통합과 자동화: GitHub는 CI/CD(Continuous Integration/Continuous Deployment)와 같은 통합 및 자동화 도구와 연동하기 쉽다. 이를 통해 코드 변경 사항을 자동으로 테스트하고 배포한다.
  • 오픈소스 커뮤니티: GitHub는 오픈소스 프로젝트의 중심지다. 여기서는 다양한 프로젝트와 라이브러리를 찾을 수 있으며, 개발자들은 이러한 프로젝트에 기여하거나 자신의 프로젝트를 공개한다.
  • 보안: GitHub는 코드의 보안 취약점을 자동으로 감지하는 보안 기능을 제공한다. 또한, 레포지토리에 대한 접근 권한 관리도 상세하게 할 수 있다.

 

 이번 시간에는 로컬 저장소의 변경 사항을 원격 저장소에 반영하고, 원격 저장소의 클론을 로컬에 생성하는 방법에 대해 다루어 보자.


본문

원격 저장소로 푸시  

 

 먼저 GitHub 홈페이지에서 새로운 리포지토리를 생성하자. Repository name에 적절한 이름을 짓고, 공개 범위를 Public/Private으로 설정하면 된다. 만약 해당 리포지토리에 대한 설명을 추가하고 싶으면 Add a README file을 추가하여 설명서를 작성하고, 파일을 옮길 때 특정 파일을 무시하는 기능을 추가하고 싶다면 .gitignore도 추가해 주면 된다.

 

 

 그 후 로컬 저장소를 Git Bash로 열어준다. 만약 Git Bash가 없는 상황이라면, 해당 사이트에서 설치하도록 하자. 물론, GitHub Desktop이라는 GUI로 구현된 프로그램도 있으나, 해당 게시글에서는 커맨드 위주로 설명하도록 하겠다.

 

 

git init
git remote add origin your-url // 로컬 저장소와 원격 저장소를 연결

 배쉬 창이 열렸다면 Git을 초기화하는 명령어를 입력하고, 원격 리포지토리를 추가한다. 이때 실제로 생성한 리포지토리의 URL을 사용해야 한다. 

  • 이때 Bash 창에서 복사는 윈도 기준 Ctrl + Insert, 붙여 넣기는 Shift + Insert다.

 

git add .
git commit -m "Your message"
git push origin master

 그 후 변경 사항을 스테이징(git add .)하고, 커밋한다. 마지막으로 리포지토리로 푸시하면 되는데, 필자처럼 브랜치가 master로 되어 있으면 git push origin master로, main이 되어 있다면 git push origin main으로 입력하면 된다.

 


로컬 저장소로 클론 생성

 

 이번에는 example 리포지토리에 있는 파일을 노트북의 임의의 폴더(git_clone)에 클론을 생성해 보자. 이번에도 해당 폴더에 Git Bash를 실행시켜 디렉터리로 이동하자.

 

git clone your-url // 만약 폴더 이름을 새로 짓고 싶으면 뒤에 추가로 폴더 이름 지정

ex) git clone your-url your-folder-name

 그리고 git clone 명령어를 이용해 클론을 생성하면 된다.

 


요약

로컬 -> 원격
- git remote 명령어를 이용해 브랜치를 설정하고, 변경 사항을 스테이징 및 커밋 후 푸시

원격 -> 로컬
- git clone your-url 명령어를 이용해 클론 생성
반응형