git repository의 버전관리는 이전 포스팅에서도 말했지만, local 상이 훨씬 빠리고, 편리하다.
오늘은 내 github와 local을 동기화 하는 것까지 해본다.
우선 로컬과 연동하기 위해서는 git을 로컬 상에서도 깔아야 하므로, git bash를 설치하고 와야 한다.
설치 방법은 아래 포스팅에 있으니 참고하기!
사실 연동하는 방법은 github에서 처음 repository를 만들면 나오는 명령어들에 다 나와있다.
이를 차근차근 따라가서 하면 되는데, 명령어들의 의미를 먼저 파악해야 하니, 하나하나 설명해보도록 한다.
git bash 시작
원하는 폴더를 생성하고 그 폴더를 우클릭해서 "Git Bash Here"을 클릭한다. 그러면 이전 포스팅과 같이 git bash의 터미널이 켜지게 된다.
git init :
git 초기화를 의미한다.
비어있는 local 폴더에 들어가 git init을 실행하면 해당 폴더에 .git 파일만든다. 이렇게 하면 git repository와 연동시킬 준비를 하는 것이다.
git remote :
원격 저장소와 관련된 작업을 한다.
- git remote add : 웹 상의 github rpeository 를 local의 원격 저장소로 등록한다는 것을 의미한다.
- git remote show : 현재까지 등록되어있는 원격저장소의 정보를 의미한다.
위의 사진을 보면 "git remote add origin <git 경로> 가 있는데, "origin"의 의미는 별칭을 의미하는 것 같다. 다른 이름들을 넣어도 상관없지만, 협업자와 통일을 위해서는 "origin"을 하는게 좋을 듯 하다.
git add :
생성한 파일을 Staging시키는 작업을 의미한다.
git commit:
Staging된 파일을 수정완료된 상태로 변경한다. (아직 git에 합쳐져 올라간 상태는 아니다.)
- git commit -m 'message' : 코드의 변경 이력에 대한 기록을 남기기 위해 간략한 설명을 남기는 것이다.
git push:
commit까지 마친 파일들( 수정완료된 파일들)을 git에 업로드해 기존의 git 과 merge(결합)하는 것을 의미한다.
Staging(스테이징)이라는 단어가 처음 접하는 사람들에게는 매우 생소해서 어려울 수 있다. (나도 이 개념이 익숙치 않아서 처음 git을 접근하는 게 어려웠다는... ) 스테이징 상태에 대해서는 다음 포스팅에서 자세히 적어보려 한다.
아무튼! 기본적인 명령어 설명은 마쳤으니, 실습을 해보려 한다.
실습
원하는 폴더에 가서 git bash를 켠 상태로 들어가면 위와 같은 창이 나타난다.
먼저 git init을 한다.
다음으로, git remote add origin <git 경로>를 입력한다.
이때, 주소창의 git 경로를 입력하는 것이 아니라, 위와 같이 저 경로를 입력하는 것인데 사실 <주소창 주소> + .git을 입력해도 된다.
그리고 test를 위해 새로운 파일을 생성해놓는다. 나는 test.txt 파일을 만들어보려고 한다. test 파일을 만들고 나서 git status를 확안해보자.
그럼 빨간색 글씨로 test.txt가 보인다. 이걸 add 명령어를 이용해서 staging 시키고, commit 하고, push 해서 git 에 업로드하는 것이다.
위 사진을 보면 알겟지만, git add 를 하면 빨간 색에서 초록색으로 변하면서, statging 된 상태를 가리킨다. commit을 하고 push를 했을 때, 충돌이 일어나지 않고 정상적으로 올라갈 경우, 위와 같은 수순을 밟게 된다.
전부 생성을 하고 나서, github의 해당 repository에 들어가면 test.txt가 업로드되어있는 것을 확인할 수 있다.
다음 포스팅에서는 staging 상태 등 github 내 여러 상태들에 대해 설명해보려 한다.
참조 사이트:
'Code > Git' 카테고리의 다른 글
[Git] git commit 히스토리 조회하기 (0) | 2020.11.19 |
---|---|
[Git] Staging이 뭐지?? - Git에서 파일의 상태 알기 (0) | 2020.11.18 |
[Git] window에서 git bash 설치하기 (0) | 2020.11.17 |
[Git] 깃허브 레파지토리(repository) 만들기 (0) | 2020.11.16 |
[Git] 깃허브 계정 만들기 (0) | 2020.11.16 |