[4기] 백엔드 개발자 부트캠프 "오르미" ~ing/[4기] 백엔드 개발자 부트캠프 오르미 수업 복습

[백엔드 개발자 부트캠프 '오르미4기'] 2일차 Git/Git Hub

sohee99 2024. 1. 3. 21:00

2일차 오늘의 파트는 Git/GitHub!!!

 

공부에 앞서서 git 가 무엇인지 공부하였습니당!

Git  - 개발자들에게 필요한 협업 환경을 조성하기위한 수단

만약 git이 없다면?

 

* 각각의 소스코드를 수정하였을 때, 수정이 어렵고 알 수 없기 때문!

 

git 을 사용함으로써 프로젝트를 쉽게 전환하고 관리할 수 있다.

 

* 사전에 방지하고 충돌 가능성을 최소화 할수 있다.

 

GitHub란?

GitHub을 Git을 기반으로 온라인으로 서비스하는 형태

 

Git 과 GitHub는 전혀 다른 계념!

 

설치에 앞서, 기본 용어 이해하기 & Git 작동구조 이해하기

기본용어

working directory 작업자의 현재 시점/ 파일수정, 저장 등의 작업을 하는 디렉터리

 

repository 원격저장소: 소스코드를 여러 사람이 함께 공유 가능, 로컬저장소(내컴퓨터)

 

브랜치(branch) - 가지 혹은 분기점

메인 브랜치(develop) 마스터에서 뻗어나와서 브랜치 생성

브랜치 사용하는 이유는 a기능 b기능 있을 경우 각각 개발을 하고 merge하여 개발 완료

 

merge 각각의 브랜치를 하나의 브랜치로 모으는 작업

 

커밋( commit ) - 현재 변경된 작업을 저장소에 올리는 것

 

checkout (=switch) - 다른 브랜치 작업을 불러오는 것

 

Git 작동구조

 

Git 작동구조

 

내 컴퓨터에서 코드 변경을 하게 되면 커밋은 x

1. git add 해줌으로 서 스테이지에 올려야 로컬저장소에 올릴 수 있음

2. 로컬저장소에서 git push 하여 원격 저장소에 올린다.

 

다른사람들이 작성한 코드를 우리가 내컴퓨터로 내려받기 위해 git pull, git clone 을 사용한다.

 

git clone - 내려받을 때 내컴퓨터에 복제한다.

git fetch - 소스코드 업데이트가 안된다. 원격저장소에서 변경된 메타데이터 브랜치추가 및 삭제 정보 업데이트를 내려준다.

git pull 원격저장소에 있는 소스코드를 그대로 받아내는 것 ( 변경사항 업데이트 )

 

git github /sourcetree 설치해보기

설치 매뉴얼 따라 설치 부랴부랴 해보기!!

GITHUB / SOURCETREE 설치 완료!

 

소스트리를 통해 변경사항 추가해보고, commit 해보기

탐색기 - git-project 파일에 hyundai 파일추가!

 

파일 내용 추가
commit 과정

 

파일 추가 후 소스트리 - 스테이지 올라가지 않은 파일 + (add) 클릭 - 스테이지에 올라간 파일을 커밋 메시지와 함께 커밋!

 

여기서! 변경사항으로 아반떼를 추가 👌

 

아반떼 추가

 

저장 후, 위 과정과 함께 다시 변경사항을 커밋 진행!

변경 후 kia 파일 추가

 

이렇게 변경사항 추가 및 삭제 복습해보기!

hyundai 삭제 후 porsche 추가

 

소스트리 복습

Git에서 과거로 돌아가는 두 방식

  • reset : 원하는 시점으로 돌아간 뒤 이후 내역들을 삭제
  • revert : 되돌리기를 원하는 시점의 커밋을 거꾸로 실행

커밋 초기화 hard

 

되돌리기

충돌 해결 배우기

충돌 해결해보기
충돌된 A파일 파일

<<<<<<< HEAD abc ======= 까지 현재 저장소에 저장되어 있는 내용 ( 후 )

======= a >>>>>>> parent 까지 revert 대상 브랜치 작성 내용 ( 전 )

 

✔ 충돌 되었기에 a로 갈것인지 abc로 갈것인지 해결하기

 

마우스 우측키를 눌러 충돌해결 - 내것, 저장소것, 해결된 것으로 표시 선택가능 

 

* 해결된 것은 파일에서 직접 수정하거나 전혀 다른 내용으로 수정할 때 !

 

브랜치 만들기

브랜치 : 분기된가지의 모양

 

프로젝트의 여러 작업들을 독립되어 진행 할 때 브랜치 사용

ex) 실배포용, 테스트서버용, 새로운 기능 개발용

 

브랜치 생성, 이동, 삭제 해보기

 

브랜치 생성

생성된 브랜치 new-car-company 를 git branch -d (삭제할 브랜치명) 입력하여 브랜치 삭제하기

* 강제삭제 : git branch -D ( 브랜치명 )    !!대문자!!

*브랜치 이름 바꾸기 : git branch -m (기존 브랜치명) (새 브랜치명)

 

각각의 브랜치에서 작업 후 브랜치 모양

브랜치 생성 후 다양한 가지의 모양을 볼 수 있다. 또한 git log 를 통해 위치한 브랜치에서의 내역을 볼 수있으며,

그래프를 볼 수있다.

 

merge / rebase 알아가기

  • merge : 두 브랜치를 한 커밋에 이어붙인다. *브랜치 사용내역을 남긴다.
  • rebase : 브랜치를 다른 브랜치에 이어붙인다. *한줄로 정리된 내역을 유지하기 원할때 적합

소스트리를 사용하면 간단하게 병합 merge 가능!

merge

커밋 밀어올리기 (push)

 

push 를 통해 github로 옮기기

 

커밋 당겨오기(pull)

 

github 에서 추가 후 명령어 pull을 통해 변경할 수 있다.

 

 

 

이렇게 오늘 학습한 것을 간단하게 다시 복습해보았는데,,,

(어렵,,,어렵,,,) 수업 때는 잘됐는데 혼자하니깐 잘 안되네요 하핳..""

 

 

 

주말에 Git / Github 다시 공부 해야할거같아요 ㅠㅠ😂

이번 주말은 git/github 무료강의 및 배운 것 복습하기 당첨

 

 

 

 

 

 

그래도 git 과 github 소스트리가 무엇인지 알 수 있는 시간이였습니다 ㅎㅎ

2일 됐지만 쫴~끔 성장했어요 하핳ㅎ👍

 

내일도 파이팅!!!!!!!