본문 바로가기

Tools/Git, Github

로컬 저장소와 원격 저장소 (Git repository) 연동하기

본인의 프로젝트를 github 원격 저장소에 백업해두는 용도 (또는 다른 사람들과 공유)로 github을 사용할 수 있는데, 이번 포스팅에서는 그 방법을 다루고자 한다.

 

git이 이미 설치되어 있고, github 로그인이 가능한 상황을 전제로 한다. 여기서 가정하는 상황은 로컬 디렉토리 전체를 원격 저장소인 github repository와 연동시키고자 하는 것이다.

 

1. Github repository 생성

Github repository를 생성한다.

 

프로젝트 이름과 description을 알맞게 작성하고, readme file, git ignore 파일의 생성 여부를 체크한다. Gitignore 파일은 원격 저장소와 로컬 저장소 간 연동을 할 때 무시할 파일들을 명시한다. 예를 들어 Python 프로젝트의 경우, venv와 같은 환경 관련 경로, pycache 등이 gitignore 파일에 명시되어 있다. 이러한 template을 위 화면에서 선택할 수 있다.

 

2. 로컬 저장소를 git으로 관리하기

git 저장소가 아닌 일반적인 로컬 저장소에서 아래 명령어를 입력하면 git 저장소가 아니라고 뜬다.

git status

이제 원격 저장소와 연동하고자 하는 로컬 디렉토리로 이동해 다음 명령어를 통해 git 저장소로 만들어준다.

git init

이제 git status를 마찬가지로 입력해보면 다음과 같이 뜬다.

아직 commit 하지 않았다는 메시지가 출력되는데, 일단 git 저장소로 관리되고 있는 것을 확인할 수 있다.

 

그리고 이건 option 사항이긴 한데, github repository를 만들 때는 default branch 이름이 main인데, 로컬 저장소에서는 master로 생성되기 때문에, 이를 일치시켜주기 위해 다음과 같은 명령어로 로컬 git branch도 main으로 바꿔준다.

git branch -M main

 

3. 원격 저장소 github repository와 연동하기

Git으로 관리되는 로컬 디렉토리로 이동해 origin이라는 이름으로 github repository 원격 저장소와 연동한다.

git remote add origin https://(주소)

뒤에 주소란에는 1에서 생성한 github repository의 [code] 탭을 눌렀을 때 나오는 주소를 복사해서 붙여넣는다.

 

원격 저장소의 내용을 로컬로 내려받아 동기화 해준다.

git pull origin main

 

4. 로컬에서 수정한 뒤 원격 저장소에 push

로컬 저장소에서 뭔가를 수정한 뒤에는 다음 명령어들을 통해 원격 저장소로 push 한다.

git add .
git commit -m "message"
git push

큰 따옴표 안에 message에는 commit 내용을 간단히 입력해준다.

 

처음에 push 하면 다음과 같은 에러 메시지가 나올 수 있는데, 

화면에 출력되는 대로 입력하면 된다. 찾아보니 처음에는 원격 저장소 어느 branch로 push할지에 대한 디폴트가 설정되지 않았기 때문이라고 한다. 한 번 이렇게 입력해준 뒤로는 git push와 같이 입력하면 된다.

 

5. About .gitignore

.gitignore을 잘 활용하면 유용할 수 있는데, 로컬 저장소 안의 모든 내용을 원격 저장소에 올리고 싶지 않을 수 있기 때문이다. 1에서 잠깐 언급한 바와 같이, 프로젝트 언어에 따라 디폴트 format을 설정할 수 있다. 여기에는 프로그래밍 언어에 specific한 내용들이 포함되며, 예를 들어 python의 경우 pycache 등이 포함된다.

 

직접 gitignore 파일에 로컬 하위 디렉토리나 파일을 명시하면 git으로 관리되지 않는다.

 

이 때 한 가지 오류가 뜰 수 있는데, gitignore 파일을 수정했더라도 이것이 바로 반영되지 않는다는 것이다. 찾아보면 그 이유는 git cache 내에 기록을 여전히 가지고 있기 때문인데, 다음 명령어로 cache된 것을 지워주면 된다.

git rm -r --cached .

 

'Tools > Git, Github' 카테고리의 다른 글

Windows 11 Git Setup  (0) 2024.04.15
Jekyll theme을 사용하여 github io 블로그 만들기  (0) 2023.07.10