지난 포스트까지 git을 통해 로컬에서 버전관리를 하는 방법을 간략하게 알아보았다.
이번 포스트에서는 github라는 리모트 서버를 통해 로컬과 리모트를 연동하는 방법을 알아보고자 한다.
1. 로컬과 리모트의 연결
본격적인 연동 전에 요구되는 설정이 있다.
git의 유저 닉네임, 이메일과 github의 닉네임, 이메일이 동일해야 연동이 가능하다.
로컬과 리모트, 즉 git으로 관리되고 있는 로컬 프로젝트 폴더와 github를 연동하기 위해서는 github에 리포지토리를 생성해야한다.
리포지토리는 github와 특정 로컬 프로젝트 폴더에 대한 리모트 서버이다.
리포지토리를 생성한 뒤 리포지토리 주소를 통해 해당 리포지토리와 로컬 프로젝트 폴더를 연동해줄 수 있다.
- git remote add origin 리포지토리 주소 //로컬 프로젝트 폴더를 리포지토리와 연동
2. 로컬 커밋을 리모트에 전송
로컬 프로젝트 폴더와 리포지토리가 연동되었으므로 로컬에서 생성된 commit을 리포지토리에 전송할 수 있다.
아래의 명령어를 통해 실행 할 수 있는데, 리포지토리 메인 브랜치에 현재 커밋을 전송한다는 의미이다.
- git push origin main
3. 리모트 커밋을 로컬에 전송
만약 실수로 로컬 컴퓨터에서 git 프로젝트 폴더를 삭제했거나, 다른 컴퓨터에서 git 프로젝트 작업을 해야할 상황이 발생할 수 있다.
이런 경우에는 리포지토리에 저장된 commit을 로컬 컴퓨터로 불러옴으로써 해결할 수 있다.
아래의 명령어는 깃허브 리포지토리에서 git 프로젝트 폴더, 모든 커밋을 로컬 컴퓨터로 가져오는 명령어이다.
- git clone 리포지토리 주소
4. 리모트에서의 변경사항을 로컬에 동기화
github에서 변경사항이 생길 수 있으며, 그 변경사항을 로컬에 적용해야하는 상황이 발생할 수 있다.
이런 경우에는 아래의 명령어를 통해 github에서의 변경사항을 로컬로 동기화할 수 있다.
- git pull origin main
5. 특정 commit으로 복구
만약 로컬에서 5개의 커밋을 생성하고, 리포지토리에 전송했다고 가정하자.
그리고 로컬에서 git reset 명령어를 통해 첫번째 커밋으로 되돌아간 뒤, 다시 다섯번째 커밋으로 돌아가고 싶은 상황이다.
이런 경우, 로컬 자체에서는 첫번째 커밋으로 돌아갔을 때, 다섯번째 커밋이 사라진 상태이기 때문에 돌아갈 수 없는 상황이다.
하지만 리포지토리를 사용한다면 다섯번째 커밋으로 되돌아 갈 수 있다.
리포지토리에는 여전히 다섯번째 커밋까지 존재하는 상황이며, 각 커밋의 주소가 있다.
아래의 명령어를 통해 다섯번째 커밋으로 되돌아 갈 수 있다.
- git reset --hard 다섯번째 커밋 주소
출처: 코딩은 실전이다!-Git알못을 위한 깃린이코스(Git, GitHub 실습 위주)_인프런(신재형)
'etc. > Git & GithHub' 카테고리의 다른 글
.gitignore (0) | 2022.04.30 |
---|---|
Git의 기본 명령어 (0) | 2022.04.27 |
Git user 설정 & CMD 기본 명령어 (0) | 2022.04.22 |
Git & GitHub (0) | 2022.04.22 |