HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
👻
개발 기록
/
Git과 Github
Git과 Github
Git과 Github

Git과 Github

Created
Aug 2, 2021 11:07 AM
Type
Crash Course
Created By
Tutor
Toss 진유림
강사님 : 토스 진유림님
 
버전관리란?
혼자라면 자기만의 세이브포인트를 갖고만 있어도 괜찮음. 포토샵 history라 생각하면 됨.
하지만 다수의 사람이 버전 관리를 해야 한다면?
병렬, 비동기적으로 언제든 버전을 저장하고 업데이트를 할 수 있는 git을 사용해야 함.
단순 ctrl z가 아닌 원하는 시점바다 깃발을 꽂고 이들 간 자유롭게 돌아다닐 수 있음.
 
git을 쓰려면?
저장할 공간만 있다면 어디서나 사용 가능.
 
git을 사용하는 두가지 방법
CLI, GUI (둘 다 써보면 좋고 둘 중 하나만 해도 무방함)
 
깃, 깃헙 환경 설정
  1. git, git bash 설치, 명령 프롬프트에 git을 입력해보고 git이 설치되어 있는지 확인
  1. vscode 설치
  1. 깃허브 가입
 
깃초기화와 로컬 저장소
mkdr cd ls git init()
git add README.md로 add할 파일 선택
git commit -m "프로젝트 설명 파일 추가"로 커밋 메시지와 함께 커밋함.
git log로 생성한 커밋을 볼 수 있음.
notion image
origin의 이름은 커스텀 가능함.
 
로컬 저장소와 원격 저장소
push라는 명령어를 통해 로컬에서 작업한 파일을 원격으로 올릴 수 있음.
 
다른 사람이 만든 저장소 받아오기
원격 저장소를 그대로 내 컴퓨터에 받아오는건 클론
원격 저장소의 데이터를 가져오는건 풀. 원격이랑 로컬이랑 이미 연결이 되어있는 상태일 때 가능
풀한 사람도 원격 저장소에 push 권한이 있을 때 push할 수 있음
클론할 때 .을 찍으면 기존에 만든 폴더에 대해 클론 가능
 
manage access에서 콜라보레이터 추가 가능
 
소스트리로 버전 관리를 용이하게 할 수 있음
 
깃의 원리 → 알아두면 conflict 해결하기 좋음
SVN
notion image
notion image
notion image
notion image
notion image
notion image
notion image
notion image
notion image
 
브랜치
여러줄로 작업을 하는 이유 : 한 줄로 작업하면 충돌남. 똑같은 코드를 동시에 고칠 가능성이 있기 때문에
기존에 main에서 작업하고 있음.
head는 내가 지금 작업하는 로컬 브랜치를 의미함.
git branch cat : cat 브랜치를 현재시점에서 만들어라
git switch cat : head가 옮겨감 → main 브랜치는 과거 커밋을, cat 브랜치는 새 커밋을 가리킴
 
머지
합칠 결과물이 되는 main 브랜치로 이동
git merge oct 하면 최근에 생성된(파일이 추가된) 곳으로 합쳐짐. main이 아닐 수도 있다는 얘기. oct로 합쳐짐
 
컨플릭트
<<<<<<<<
컨플릭트 내용
>>>>>>>>
으로 표시됨
여기서 컨플릭트 내용을 고치면 컨플릭트 해결.
 
포크 : 저장소를 통째로 저장
오픈소스에 기여를 하기 위해서 커밋 전에 반드시 컬래버레이터 등록을 부탁할 필요 없이 포크를 사용하여 저장소를 통째로 복제하고 자신의 저장소에 자유롭게 푸시, 커밋을 하고 추후 머지를 부탁할 수 있음.
 
notion image
포크를 해서 git clone을 하면 내 로컬에서 자유롭게 애드커밋 가능
 
upstream 포크해온 파일을 가르키는 관용어
 
풀리퀘스트
내 코드를 머지해주면 안되겠니?
깃허브 카테고리에 풀리퀘스트있음. 코드리뷰도 하고 기타 둥둥..
notion image
facebook/react 에서 contribution guideline 참고
 
notion image
유용한 팁
amend - 깜빡하고 수정 못한 파일이 있을 때 방금 만든 커밋에 살짝 추가하고 싶어요
stash - 변경사항을 잠시 킵해두고 싶어요. 아직 커밋은 안할래요. 브랜치를 왔다갔다 해야하는 경우에 사용함.
reset - 옛날 커밋으로 브랜치를 되돌리고 싶을 때
revert 이 커밋의 변경사항을 되돌리고 싶어요
cherry-pick : 저 커밋 하나만 떼서 지금 브랜치에 붙이고 싶어요
 
유림님
jayjinjay@gmail.com
insta: jayjinjay