Git 을 활용한 버전관리

박햄찌·2023년 7월 19일
0

Git

목록 보기
1/4

> Git

Git 이란 여러 사용자들간의 파일작업을 죠율하는 버전관리 시스템이다.

Git 터미널 명령어

git init

버전관리 시작

git config --global core.autocrlf input
git config --global user.name 'github닉네임'
git config --global user.email 'github이메일'
git config --global --list

git 계정 내 컴퓨터에등록(개행문자설정)
버전생성을 위한정보등록
구성 확인

git status

버전관리 상태확인

git add .

버전관리를 하겠다고 지정

git commit -m '메세지'

버전 등록하기

git log

등록한 버전 확인

git remote add origin 주소

origin 이라는 이름의 원격 저장소를 생성

git push origin master

master 라는 이름의 브랜치로 원격저장소에 프로젝트 업로드

git push -all

이전까지 진행했던 브랜치 생성 작업, 브랜치 생성 후 commit 내역 등이 모두 github 로 올라가게 됩니다!

뒤에 --all 을 붙이지 않으면, 하나의 브랜치만 올라가게 됩니다!

git branch

프로젝트에서 관리되고 있는 브랜치를 확인할수 있다.

git branch -a

원격 저장소에서 관리되고 있는 브랜치를 확인할수 있다.

git branch 브랜치명

브랜치 만들기

옛날버전

git checkout signin

signin 이라는 브랜치로 이동

신버전

git switch -c 새로운 브랜치명
git switch 브랜치명

새로운 브랜치 만들어서 전환
브랜치 전환

git branch -D 브랜치명

브랜치 삭제하기

Pull Request 브랜치 병합


1. Pull request 메뉴 선택

2. New pull request 버튼 선택

3. base 브랜치 : 합쳐질 브랜치 , compare 브랜치 : 새로운 내용을 담고있는 브랜치

4.Able to merge 라는 메세지를 통해
siginin 브랜치에서 master 브랜치로 병합(merge) 할수 있다는것을 보여준다.

5.Create pull request 버튼을 통해 병합하는 페이지로 이동한다.
6.signin 브랜치가 master 브랜치로 병합한다는 메세지를 작성할수 있는 페이지가 보여지며 ,
Create pull request 버튼을 한번 더 누른다.


7.Pull request 메뉴에 숫자 1 이 생겨져 잇는데 open되어져 있는 병합요청이 생성된것을 알수 있다.

  1. Merge pull request 버튼을 누르면 Comfirm merge 버튼 까지 누르면


9. open 이였던 부분이 merged로 변경된것을 확인할수 있다.

보통은 pull request 를 작성할 때는, 왜 해당 부분을 작성했고, 이전에 비해서 어떤 것이 바뀌었는지, 그리고 코드 리뷰와 관련해서 요청사항은 어떤 것이 있는지 (ex. 특히 이 파일에서 if 문을 봐달라) 를 내용으로 작성하게 됩니다.

  • 현재 PR 요약/개요
  • 코드 변경 이유 (작성 이유)
  • 관련 스크린샷
  • 테스트 내용
  • 리뷰 관련 요청사항

pull request 완료 후 로컬에 반영하기 (git fetch —prune)

pull request 작업이 끝났지만, 아직 우리 컴퓨터의 코드는 그대로 입니다.
github 상의 코드를 가져와서 우리 컴퓨터에 반영해줘야겠죠?

git pull origin main

→ 이제 로컬 과 github 와 동일해졌습니다.
위 명령어를 입력하면, 우리 컴퓨터가 github 상에서 해당 브랜치들이 삭제되었음을 인식하게 됩니다.

→ 이렇게 해주는 이유는 혹시나 git pull 하는 과정에서 발생할 수 있는 오류를 방지하기 위함입니다.

그리고 아래 명령어를 이용해서 로컬 브랜치들을 삭제해주세요. (로컬 브랜치를 어떻게 할지는 선택이지만, 저는 항상 ‘pull request 가 merge 된 이후에는’ 지우면서 진행하고 있습니다.)

git branch -D feature/desc feature/email feature/name
  • merge 가 되기도 전에 지우시면 안됩니다!

프로젝트 복제(Clone)

git clone github주소

해당하는 주소의 저장소를 복제해서 현재경로에 새롭게 생성한다.

폴더 위치에 접속해 code . 을 실행하면 vscode로 해당폴더 열리게 하는법

cmd + shift + p 

모든명령표시 에 code 라고 입력하면


을 선택하여 설치후 vscode 재부팅 하면 리눅스 명령어를 통해 해당 디렉토리 위치로 이동후 code .을 입력하면
새로운 창에 프로젝트가 열린다.

code . -r

현재 창에서 폴더가 열린다.

버전 되돌리기(Reset)

git reset --hard HEAD~1

최신버전에서 한버전 뒤로 되돌리기

HEAD : 가장 최신 버전
~1 : 가장 최신 버전에서 한버전 뒤로

git reset --hard ORIG_HEAD

되돌린 버전 원상복귀
ORIG_HEAD : 기존의 HEAD (되돌리기 전상태가 메모리에 저장됨)

내가 원하는 브랜치 가져오기

git branch -r

원격저장소에 등록되어 있는 브랜치확인

결과

git checkout -t origin/purple

원격 저장소에 있는 purple 브랜치를 가져오기

git branch -d 브랜치명

브랜치 삭제하기

git checkout -b yellow

브랜치 생성과 동시에 해당 브랜치로 이동

git push origin yellow

원격 저장소에 새로 만든 yellow 브랜치 저장하기

버전 충돌 (Confilct), 로컬병합(Merge)

git pull origin master

원격저장소에 master 브랜치에 있는 내용 가져오기

결과

<<<<<HEAD : 로컬환경에서 작성한 내용

알수없는문자들.. : 커밋내역의 아이디

수동으로 지우거나 , 선택해서 내용 수정하여 저장하면 된다.
변경 사항 비교 버튼을 선택하면 로컬에서 만들어진 버전과 원격저장소에 있는 버전을 비교해서 확인할수 있다.

저장후 git push origin master를 실행하여 원격저장소에 저장하면 된다.

master 에서 main 으로 브랜치 변경

git branch -m master main

master 브랜치를 main 이름의 브랜치로 이동해서 시작을 하겠다고 선언
-m 은 move 의 약어이다.

git config --global init.defaultBranch 브랜치이름

모든 버전관리 시스템에 설정이 되는것으로 master 라는 기본 메인 브랜치 이름을 main으로 교체하는 방법

배포한 프로젝트 같은 경우에서도 기본 메인 브랜치 교체하는 방법

  1. github 의 교체하려는 프로젝트로 들어가서 Setting 메뉴 선택
  2. Branches 라는 사이드 메뉴에서 선택하면 Default branch 라는 이름을 통해 저장되어 있는 메인 브랜치를 확인할수 있다.
  3. 저장되어져 있는 브랜치 오른쪽에 ✏️ 을 선택하여 변경하고자 하는 브랜치 명으로 변경을 한 후
  4. Rename branch 버튼을 선택해주면 기본 브랜치를 변경할수 있다.
  • 만약 netlify 에 배포도 되어있는 경우 netlify 에서도 구성을 변경해 주어야 한다.

netlify 에 배포되어 있는 프로젝트 메인 브랜치 교체

  1. Site settings 메뉴를 선택한다.
  2. Build & deploy 메뉴를 선택한다.
  3. Branches 제목을 가진 부분을 확인한다.
  4. Edit settings 라는 이름의 버튼을 선택한다.
  5. Production branch 명을 변경해준 후 Save 버튼을 선택한다.
  6. Branch deploy 에 등록된 브랜치 이름도 변경을 해주어야 하므로 한번더 Edit settings 버튼을 선택한다.
  7. Branch deploys 부분에 None 을 선택후 save 버튼을 선택해준다.

버전 관리 하지 않을 폴더 및 파일 설정(.gitignore)


파일이나 폴더의 이름을 줄바꿈 하면서 .gitignore 파일에 명시를 하게 되면 git 통해 버전관리를 할때
해당하는 파일 & 폴더 들은 따로 관리를 하지 않고 github
저장소에도 업로드를 하지않는다.

.gitignore 를 통해서 설정을 하지 못하고 github에 올려버린 경우

  1. 프로젝트에 .gitignore 파일을 만들어 준후 버전관리를 하지 않을 폴더나 파일명을 명시해준다.
git rm -r --cached .
git commit -m '.gitignore 규칙추가'
git push origin main

git 을 통해서 버전관리 하고 있는 파일들을 제거할 것인데 현재 경로에 있는 해당 파일들을 찾아서 진행 할 것이다
-rm : remove 를 뜻하며
-r : recursizve (재귀) 반복을 뜻한다.
. : 현재 경로

profile
개발자가 되고 싶어요

1개의 댓글

comment-user-thumbnail
2023년 7월 19일

잘 봤습니다. 좋은 글 감사합니다.

답글 달기