2023년 3월 13일 Git
오늘 깃 사용법에 대해 배운 내용 정리
Git의 용도는 크게 세가지.
하나, 소스 코드의 변경 내용 확인
둘, 작업 되돌리기
셋, 협업해서 개발할 때 좋은 도구
이 세가지 작업을 하는 것을 버전관리라고 한다.
**버전이란: 코드 내에서 유의미한 변화가 생긴 것이 결과물로 나온 것이 버전이다. 깃은 버전을 관리하기 좋은 도구
깃에는 세 가지 공간이 있다. 이 공간들 사이에서 자료가 이동함이 중요하다.
공간1. 작업디렉토리: 버전관리의 대상이 위치하는 공간 (.git 숨김파일이 있는 공간)
공간2. 스테이지: 다음버전이 될 후보들이 올라가는 공간
공간3. 저장소: 버전이 만들어지고 관리되는 공간
1. Git의 기본 명령어
cd <이동할 경로> : 꺽쇠 안에 있는 폴더로 현재 작업 위치를 이동한다.
pwd : 현재 경로를 출력
ls: 현재 내가 있는 곳의 모든 디렉토리(폴더)를 리스트로 보여줌
ls -al: 현재 내가 있는 곳의 숨김파일까지 모두 리스트로 보여줌
mkdir <폴더이름> : 꺽쇠안의 이름으로 새 폴더를 만듦
touch <파일이름> : 꺽쇠안의 이름으로 새 파일을 만듦. 파일명 뒤에 .txt 등으로 만드는 파일의 종류를 설정 가능
vi <파일명> : 해당 파일을 편집기로 여는 명령어
vi 내에서 insert모드 진입하려면 [a] 또는 [i] 버튼, 보기 좋게 행마다 번호 붙이려면 :set num,
작성한 내용 저장하려면 :w , 작성하고 다시 터미널로 빠져나오려면 :wq
cat <파일명> : 해당 파일의 내용을 들여다보기
2. 버전 만들기 add와 commit
먼저 해당 폴더에 들어온 상태에서 터미널에서 $ git init 으로 시작.
git init: 이제 현재 위치의 이 경로가 작업디렉토리가 됨. 숨김파일로 .git이 생성됨 ls -al 해보면 확인 가능
git add a.txt : a.txt 파일을 스테이지에 추가할 것이다.
git add . : 현재 경로에 있는 모든 파일을 스테이지에 추가할 것이다.
git rm --cached a.txt : 이미 스테이지에 올린 파일을 다시 내리는 명령
git commit : 커밋 메시지 작성모드로 들어감. 첫줄에 해당 커밋의 제목 작성, 아랫줄 한 줄 비우고 그 밑에 해당 커밋의 내용을 상세히 작성. 개발자들 간의 소통창구이므로 자세하고 친절하게 적는다. 마지막에 this commit is made by IamVine
git commit -m "create a.txt" : 커밋메시지 모드 들어가기 귀찮을 때 사용. 이렇게 하면 커밋되면서 동시에 간단히 제목만 생성됨.
git log : 지금까지 만든 커밋 확인. 커밋해시(id값), 작성자, 날짜, 메시지 제목, 메시지 본문이 조회된다.
3. 버전을 깃허브에 푸시하기
레퍼지토리 만들기 (퍼블릭으로 크리에잇) > SHH 선택 > 아래 세 줄 내 터미널에 복사해서 한 줄씩 붙여넣기. 바로 푸시댐.
다른 사람들이 내 저장소에 푸시할 수 있도록 하려면
레퍼지토리 > 세팅스 > 콜라보레이터스 > 애드 피플 > 아이디 또는 이메일 적기 > 초대장이 돌려짐 승락하면 권한 생성
이렇게 연결해놓고 푸시 다 하면 터미널에서 git push 명령어만으로 푸쉬가 된다.
4. 원격 저장소를 내 컴퓨터로 복제해오기 Clone
깃 홈페이지에서 클릭하거나, <>code 라고 되어있는 버튼 눌러서 url을 복사해다가
내 터미널에서 git clone url복붙 하면!
그대~로 내 컴퓨터에 레퍼지토리 폴더와 파일들이 다운로드된다.
5. 브랜치 만들기
초대 하는 사람이 할 일:
깃 레포지토리 > settings > Manage access > invite a collaborator > 초대할 사람 아이디 입력 > 이메일로 링크 간다
초대 받은 사람이 할 일:
- $ git clone <초대보낸사람의 깃주소>
- $ git remote -v 해서 연결 확인
- $ git branch <브랜치생성이름> : 브랜치 바로 생성하기
ex) $ git branch mybrnach - $ git checkout <브랜치생성이름> : 생성한 브랜치로 이동하기
ex) $ git checkout mybrnach
Switched to branch 'mybranch' - $ git branch 입력하면 main에서 내가 생성한 브랜치로 이동된 걸 확인
ex) main -> mybranch - 이제 vscode 에서 코딩작업 가능. remote 연결했으므로 add, commit, push, pull 등등 모두 가능
합쳐야할 작업물들 옮기고 add, commit, push
push하고 github레포지토리 보면, 'Pull requests' 생김. 확인해서 merge 하고 마무리된다.