학습/특강

내일배움캠프 특강 [예병수 튜터 Git Github]

정혜현 2024. 5. 29. 12:30

※ 꼭 3번이상 복습. 잘 모르면 협업할 때 다른사람 코드 날려먹을 수 있다.

 

 

 

필수 리눅스 명령어

맥은 터미널, 윈도우는 git bash로 진행

디렉토리를 폴더로 생각하면 이해하기 쉽다

pwd print working directory : 현재 작업하고 있는 디렉토리 보여줘 현재 작업하는 폴더를 보여달라는 뜻
'~'는 Home으로 데스크탑(바탕화면)보다 상위폴더를 의미
ls list : 내 폴더 안에 있는 폴더 & 파일 내역을 보여줘  
ls -a list all : 모든 폴더 & 파일을 보여줘 숨겨진 파일도 볼 수 있다.(시스템 파일 등이 숨겨져있다.)
cd 폴더명 change directory : 다른 디렉토리로 이동해줘 폴더를 더블클릭해서 들어간 것과 비슷한 효과 
cd.. : ".." 현재위치에서 한단계 위로 이동
폴더명/폴더명 : "/" 한번에 더 깊이 이동
tap누르면 자동완성됨
mkdir 폴더명  make directory : 현재경로에서 새로운 폴더 생성해줘  
touch 파일명 현재경로에서 새로운 파일 생성해줘  

 

 

 

Git

코드 변경점 기록

하나의 폴더 내 코드의 변경점을 기록

버전관리도구(형상관리도구) : 소프트웨어의 변경사항을 체계적으로 추적하고 통제하는 것

에러발생시 과거의 코드기록으로 쉽게 되돌아갈 수 있음

 

 

 

Github

온라인 코드 저장소

온라인백업, 공유, 협업

 

Github repository

첫 업로드 3개 명령어 의미

git remote add origin : github 주소 길어서  origin에 저장하겠다.

git branch -M main branch를 master를 main으로 변경하겠다.

git push -u origin main : git push만 쳐도 업로드되라.

 

협업하기

협력자collaborator 등록하기 : 레포지토리 settings collaborators add people 권한 넘겨줄 수 있다. 팀장만 하면 된다. 

 

 

 

 

Git 필수 명령어

시작 git init initialize 초기화하다. 초기세팅하다. 프로젝트 시작 전 딱 한번만 입력하면 됨
정확한 프로젝트 폴더(경로)에서 입력해야 함(잘못하면 데스크탑 전체 기록될 수 있음)
.git폴더가 생긴다. (ls-a로 확인가능)
저장(지정) git add git add 파일명  : 저장하기 전 저장할 파일 지정
. 한번에 지정가능(모든 변경된 사항)
저장 git commit git commit -m "메시지" : 메시지 부분에는 어떤 코드를 짰는지 쓰기. 실제 저장
저장여부 확인 git status 변경상태를 확인. 현재 git 상태확인. 저장하지 않은 파일 붉은 색으로 표시
저장내역 확인 git log  
수정된 코드 반영 git push git push origin (브랜치명)main
코드 복사 git clone git clone 주소링크 . : 맨 마지막에 .을 쳐야한다. 안치면 폴더가 들어와진다.
가져오기 git pull git push origin (브랜치명)main
다른 사람이 먼저 변경해서 그거 받아오고 써야된다. 
push 안되면 pull하자
pull 안되면 첫 줄 복붙하면 됨.
vim이 뜨고 다른사람 ㅁ코드 가져와짐

 

충돌Conflict 

merge(합치기) 실패했습니다. : 같은 파일 같은 위치의 코드가 변경되었기 때문

해결하기

<<<<< 삭제

===== 삭제

>>>>> 삭제

충돌된 코드에서 원하는 코드로 직접 수정해야한다. 

 

 

 

 

branch

복사본(원본이 변경되는 게 아니다)

 

생성명령어

git branch 브랜치이름(이름은 보통 기능과 관련되게 짓는다.)

 

이동명령어

git switch 이동하려는 브랜치이름

git switch -c 이동하려는 브랜치이름 새로 만드는 명령어

git checkout 이동하려는 브랜치이름

git checkout -b 이동하려는 브랜치이름 새로 만드는 명령어

 

합치는 방법 : 최종브랜치로 이동하고 git merge 합칠 브랜치이름

터미널이 아니라 Github에서 합치기 때문에 이 방법은 잘 안쓴다. 

 

 

Pull Request

병합시 허락 요구. 작성자에게 코드리뷰 요청

최종 브랜치 < - 합치고 싶은 브랜치

files changed로 코드 변경점을 확인해 코드리뷰 가능

현업에서는 메신까지 해주자

 

작성자

Files changed 클릭, 우측 +클릭

start a review

Finish your review

Comment : 할 말 있을 때 작성

Approve : 합쳐도 됩니다.

Request changes : 요청사항 있습니다.

 

브랜치 종류

git pull origin 

그냥 합치면 위험하므로 보통 셋으로 나눠 작업한다. (예 : 같은 변수명)

 

main 브랜치 : 완벽해야된다.

develop 브랜치 : 테스트용

feature/기능 브랜치 : 기능개발용

 

초기세팅(팀장)

폴더 생성, 초기코드 작성

git init, add, commit

Gitbub 레포지토리 생성

git push로 업로드

dev브랜치 생성(Github - setting - default로 dev 브랜치 생성)

 

팀원

git switch -c 브랜드명으로 기능브랜치 만든다

clone 통째로 가져오는거니까 맨 처음에만 가져오기 

pull 변경사항만 가져오기