Git
git 은 컴퓨터 파일의 변경 사항을 추적 하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템 .
Local 에서 본인의 개발 소스 를 관리 할 수 있고 원격 저장소에 영구 적으로 백업 할 수 잇고 다양한 협업이 가능 하도록 지원한다.
git 순서
1) git clone URL
받아온 레파지 토리 폴더로 이동 한 후에
2)git branch feature 브랜치 이름
3) git branch 명령어 로 만들어 브랜치가 잘 생성 되었는지 확인
4) git checkout 만들어 놓은 브랜치 이름
main 에서 branch 로 바뀐것 확인
바뀐게 확인이 되면 code . 치고 에디터 오픈 후 작업 진행
5)git add .
6)git commit -m “작업 혹은 수정한 내용 ”
7) git push origin feature/브랜치명
8) PR
git workflow
> Git 용어 정리
Repository
git 에서 프로젝트를 저장 할 수 있고, 함께 프로젝트를 진행하는 팀원 이 있다면 팀원들과 공유 할 수 있는곳 (공유 폴더 )
PM 이 스프링 프로젝트 세팅을 한 후 다른 팀원들이 git clone 을 받을수 있도록 repository 를 생성 한다.
Repository 생성
git init 또는 git clcone 으로 기존 github 에 있는 저장소를 내 로컬로 가져온다.
Local
개인의 Laptop 또는 Desktop
Remote
외부의 github 저장소가 있는 url 에 대한 alias(별칭) 을 만들어 관리하기 위한 명령어 .( 이 명령어는 단순히 GitHub 만을 위한것은 아니며, gitlob, garrit 과 같은 외부 저장소를 다루기 위해서 사용한다.)
git remote add origin https:// repository url
생성 된 repository 를 세팅한 프로젝트에 연결해서 다른 Local 에서도 사용 할 수 있도록 해주는 명령어 이다.
git clone
remote repository의 내용을 통으로 내 Local로 받아온다. PM 이 셋팅한 Repository 를 자신의 Local 에 받기 위한 작업, 원하는 폴더까지 접근 후 클론 작업 필요 , 서버에파일을 clone 하면 내 컴퓨터의 지정된 폴더에 .git 이라는 숨겨진 폴더가 생성된다 이 .git 폴더를 가지고 있는 폴더가 working directory가 된다. 이 working directory 는 서버와 링크가 맺어지게 된다.
( 터미널에서 현재 폴더 위차 확인 할때 사용 되는 명령어 = pwd)
branch
최초 클론 시 , master 혹은 main 브랜치로 경로가 잡혀 있으며, master 또는 main 브랜치에 작업 하게 되면 함께 프로젝트를 진행하는 다른 팀원들의 작업 사항들 (원본) 에 문제가 생길 수 있기 때문에 본인 작업할 본인 만의 브랜치를 생성 후 작업 을 해야한다
git branch
master 또는 main 브랜치 인지 본인 브랜치 인지 확인하는 명령어 이다.
git branch feature / 브랜치 이름
Main 또는 Master 가 아닌 실제로 작업할 브랜치를 생성하는 명령어 이다.
git checkout feature /브랜치 이름
작업할 브랜치로 이동하는 명령어 이다. ( 브랜치만 생성을 하고 브랜치 변경을 하지 않게 되면 master 또는 main에서 작업을 하게 될수 도 있기 때문에 현재 브랜치 확인 을 꼭하고 작업 진행 하는 것 이 중요 하다 )
git add .
현재 브랜치의 모든 작업 사항들을 저장하는 명령어 이다, working directory 의 변경 내용을 staging area 에 추가 하기 위해서 사용하는 git 명령어 이다.
git status
git add 명령어를 사용할 때 , 항상 함께 사용하게 되는 명령어가 git status 이다. working directory 와 staging area 의 상태를 확인 하기 위해서 사용한다.
git commit -m “ 변경 저장 사항 메시지 작성 하는곳 “
git add . 으로 저장 한 내용 들을 어떤것들을 수정하고 추가 했는지 PR 올리기 전 어떠한 것들이 진행이 되었는지 commit 으로 기록 하고, 메시지를 남겨서 그 내용들을 트랙킹 할 수 있는 명령어 이다.
(commit 하고 난후에 push 하기 전에 다른 팀원의 작업이 master 또는 main 에 merge 가 되어 있다면 master 로 이동 후에 git pull origin main 명령어를 사용하여 최신 main 을 만들어야하고 pull 받은 작업사항을 자신이 작업한 브랜치로 이동하여 git merge main 으로 브랜치에도 최신화 시킨후 push 를 진행 해야한다.
git push origin feature/브랜치명
현재 브랜치의 작업사항을 업로드 하는 명령어 이다.
PR (Pull Request)
Push 된 commit 사항을 깃헛등에 사이트에 공유하는 작업.
팀원들과 프로젝트 공유를 하면서 최종 업데이트가 되기 위해서는 merge 의 단계가 필요하다. merge 가 되기 위해 업무 사항을 깃헙에 공유 하고 작업 사항을 공유
merge
pr 을 올린 뒤 최종 승인이 나면 merge 가 되는데, 기존의 repository 에 pr을 올린 작업사항들이 업데이트가 되는 상황
작업 내용 들이 merge 되면, 팀원들은 pr 을 올리기 전에 업데이트 된 merge 사항을 자신의 Local 에서 최신화를 시킨뒤 다시 push 를 해야한다.