항상 느끼지만 git은 마치.. 빙산의 일각과 같아서 git 설치, add, push는 SSAP가능~ 하지만 이제 심연을 들여다보면 어렵고 복잡해지는 것 같다(꼬였을 때 심장 떨림이란..). 해당 강의에서는 git 설치와 github연결에 대해 간단하게 다루고 있으므로 나도 다시 한 번 정리해볼겸 포스팅을 남긴다.
git -v
우선 git이 설치되어있는지부터 살펴보자. 위의 명령어는 git의 버전을 확인하는 명령어인데 아래와 같이 버전이 뜬다면 이미 git이 설치되어 있으므로 생략해도 된다.
git version 2.37.0
git init
이제 작업 할 디렉토리에서 git 초기화를 진행한다. VS Code 같은 경우에는 좌측에 리포지토리 초기화 등과 같은 버튼으로 쉽게 초기화를 진행할 수 있다.
git status
이제 위의 명령어를 이용하여 git의 상태를 볼건데 해당 상태를 이해하려면 상태가 구조를 가지고 있는지 이해가 필요하다.
커밋하도록 정하지 않은 변경 사항:
(무엇을 커밋할지 바꾸려면 "git add <파일>..."을 사용하십시오)
(use "git restore ..." to discard changes in working directory)
수정함: README.md
커밋할 변경 사항을 추가하지 않았습니다 ("git add" 및/또는 "git commit -a"를
사용하십시오)
git add
git add를 입력하면 staging area로 작업물들이 이동하게 된다. staging area는 git repository에 넣기 전 한 번 저장시켜주는 일종의 저장소 같은 개념인데 commit 시킬 작업물들에 대해 staging area에 올려둔다.
git commit - m "commit message"
commit을 진행하게 되면 LOCAL단의 git repository에 올릴 수 있다. 보통은 여기서 그치는것이 아니라 github까지 올리는 것을 목표로 하기 때문에 더 나아가보자.
가비아에서는 SSH를 다음과 같이 설명하고 있다.
SSH는 Secure Shell의 줄임말로, 원격 호스트에 접속하기 위해 사용되는 보안 프로토콜입니다.
그러니까 결국은 컴퓨터와 git이 안전하게 통신하기 위해서 SSH를 설정하는 것이라 이해할 수 있다.
ls -a ~/.ssh
위의 명령어를 입력했을 때 id-rsa 파일과 id-rsa.pub 파일이 있다면 ssh 설정이 되어있는 것이므로 뛰어넘어도 좋다.
없다면 해당 링크를 따라 설치하자.
github에 ssh 등록
설치했다면 github로 들어가서 아래의 루트를 따라 ssh를 등록하자.
settings -> SSH and GPG keys -> new SSH key -> title 입력 -> 복사한 key 입력
git repository 생성
이제 LOCAL에서 작업한 작업물들을 github에 올리기 위해서 올릴 repository를 생성하자.
repositories -> New -> repository name 입력(필수) -> repository에 관한 설명 작성(옵션) -> public 혹은 private 선택 -> Add a README file 체크 -> Create Repository
git repository에 올림(REMOTE)
대망의 마지막이다. LOCAL단에 올라온 것들을 REMOTE단으로 올려주자.
우선 github에서 작업 할 repository에 들어간 후 Code버튼을 눌러 위와 같은 형태의 코드를 복사해주자.
git remote add origin https://github.com/ppmyor/study-node-react-basic.git
복사했다면 다시 돌아가서 작업중인 local 디렉토리에 위와 같은 명령어를 입력해주자. 주소 부분은 위에서 복사한 본인의 주소를 입력하면 된다.
git branch 변경
git의 메인 branch는 master인데 github의 메인 branch는 main이기 때문에 고대로 push 하려고 하면 error가 난다.
git branch
위의 명령어를 입력해 현재 branch를 확인하고 master 라면 아래의 명령어로 branch를 바꿔주자.
git branch -m master main
pull
git은 push하기 전에 우선 pull 작업이 필요하다. 협업에서는 더더욱이 중요한데 내가 작업한 부분이 이미 누군가가 push한 작업물과 충돌이 날 수 있기 때문에 pull을 통해 현재 로컬 repository에 반영한 후 충돌이 없다면 push할 수 있도록 한다. 우리는 더욱이 github에 repository를 생성할 때 readMe.md 파일을 생성했기에 변경 사항이 있으므로 해당 작업이 필요하다.
git pull origin main --allow-unrelated-histories
push
대망의 push다. push를 하게되면 Local repository의 작업물이 github repository로 올라가는 신세계를 볼 수 있다.
git push -u origin main
이제 끝이다. 큰 걸음 했다.🥲👍
따라하며 배우는 노드, 리액트 시리즈 - 기본 강의 를 공부하며 작성한 글입니다.
해당 링크에 막힐만한 부분이 잘 정리되어 있습니다.