일단 terminal에서 자주 사용하는 명령어를 한번 읽고 가보자.
Git은 프로젝트 파일의 변경 사항을 추적하는 시스템이다. 이를 통해 개발자들은 프로젝트의 변경 사항을 기록하고, 특정 시점의 버전으로 언제든 돌아갈 수 있다.
설치방법은 구글링 해보기.
📌 Repositories (저장소)
Git repository는 Git으로 관리하는 프로젝트 저장소이다.
local - 본인의 컴퓨터에 저장된 저장소
remote - 외부 (일반적으로 원격 서버) 버전의 프로젝트 저장소. 팀에서 작업 할 때 특히 유용
개념의 정리보다는 실습 위주로 진행해보도록 하자
첫번째 줄 ls 로 현재 경로 내 파일을 출력 했고,
cd Desktop을 통해 Desktop으로 이동했다.
ls로 확인 해본 결과 git이라는 폴더가 없기 때문에
mkdir git으로 해당폴더 를 만들고 cd git으로 접속한뒤 vi lang.md로 lang.md라는 파일을 만들었다.
파일을 만들면 이렇게 입력 할 수 있는 화면이 뜨는데 원래는 파일을 막 만들었기 때문에 빈화면이다. 'I'를 눌러 문자를 입력하고, 'JEON HYEONG JUN'을 쓴 다음 'shift'와 ':'을 눌러 'wq' 입력하여 저장 후 빠져나왔다.
특정 파일만 추가할 수 있지만, 나는 'git add .'를 통해 모든 파일을 staging area로 추가해주었다.
그 후 'git commit - "커밋 메세지" '를 입력해서 커밋 할 수 있는데 커밋 메세지는 변경 사항을 설명하는 짧은 summary여야 한다. 나는 "실습용"으로 입력하였다.
git log를 통해 "실습용"파일이 커밋된 것을 알 수 있다.
'git log'는 각 커밋에 대한 자세한 정보를 볼 수 있다. (작성자, hash 값, 날짜와 시간, 그리고 커밋 메세지)
📌짧은 용어정리
commit
현재 버전의 코드를 저장하는 것이다. 커밋 히스토리에 필요한 만큼 커밋을 생성 할 수 있고, 이를 통해 프로젝트의 진행 상황을 효율적으로 관리 할 수 있다.
일반적으로 커밋을 남기는 시점은 특정 내용, 기능을 추가한 후 또는 수정 사항을 적용한 후 정도로 들 수 있다.
git status
터미널에서 위와 같은 명령어로 저장소의 현재 상태를 알 수 있다. 어떤 파일이 변경되었는지 어떤 파일이 추가되었는지 모두 보여준다.
git으로 관리되고 있지 않는 파일들이 있다면 해당 파일들을 staging area로 추가해준다.
Staging Area
커밋을 하기 위해 git add 명령어로 추가한 파일들이 모여있는 공간.
위의 흐름을 잘 기억해두자.
GitHub을 사용하여 로컬 프로젝트 repository를 원격 클라우드 기반 GitHub 저장소에 업로드 할 수 있고, public repository 들을 통해 다른 개발자들과 교류할 수도 있다.
github는 내가 진행했던 프로젝트를 확인할 수도 있으므로, 내가 어떤 개발자인지 다른사람들이 볼 수 있다.
정말 중요한 플랫폼이니 잘 관리를 하자.
일단 브랜치의 개념을 알고 가자.
📌branches
브랜치는 독립적으로 어떤 작업을 진행하기 위한 개념이다. 메인 브랜치에서 자신의 작업 전용 브랜치를 만들고 작업을 진행한 후, 작업이 끝난 사람은 메인 브랜치에 자신의 브랜치의 변경 사항을 적용한다.
다른 사람의 작업에 영향을 받지 않고 독립적으로 특정 작업을 수행하고 그 결과를 하나로 모아 나가게 된다.
작업의 기록을 중간 중간에 남기게 되므로 문제가 발생했을 경우 원인이 되는 작업을 찾아내거나 그에 따른 대책을 세우기 쉬워진다.
git branch <new-branch-name>
위의 명령어로 새로운 브랜치를 생성할 수 있다.
git checkout <branch-name>
위의 명령어로 다른 브랜치로 이동할 수있다.
feature/HyeongJun이라는 브랜치를 만들었다.
아직 개념의 정리가 확실히 되지 않아, 일단 실습 파일로 push되는 과정을 기록만 해본다.
미리 초대된 wecode github에서 밑의 ssh코드를 복사하여 터미널에 입력하면 현재 위치에 westagram-frontend라는 폴더와 안에 파일들이 같이 받아진다. 그 후 vs에서 폴더채로 추가한다.
이는 나중에 어떤 명령어를 안써도 된다고 기억하는데.. 나중에 멘토님께 질문을 해야겠다..
그 후 위 화면처럼 HyeongJun이라는 폴더를 만들어 내가 작업한 login폴더와 main final폴더를 만들었다.
git에서 살펴봤던 절차대로 커밋까지 완료 후
이렇게 브랜치에 푸쉬해주면 된다.
그 후 위코드 gitHub에서 pull requests를 통해 위와 같이 진행 할 수 있고, 그 안에 여러 설명과 라벨을 붙일 수도 있다.
아직 용어 개념이 확실치 않아 이상한 글이 되버렸다..
일단 github에 푸쉬하는 과정 기록용이라고 생각하고 저장해두자..
클론은 https로 받아야한다... 4월 13일 알게됨...