➤ projectdiscovery➤ Remix➤ Rescript➤ Purescript➤ npm➤ Cloudflare➤ React➤ Next.js➤ GO➤ Hyper-V➤ Tibero➤ Git➤ Algorithms, 2020년
인프런 팀 개발을 위한 Git, GitHub 입문 강의 노트
April 9, 2021팀 개발을 위한 Git, GitHub 입문 강의 노트
Github 에 코드를 올리는 과정
- Git 초기화
git init
- .git 이라는 폴더가 생성됨
- 로컬 저장소라고 부름
- 한 폴더에 하나의 로컬 저장소
- 원하는 파일만 선택하여 커밋하기
git add README.md
git commit -m "설명"
- 생성한 커밋 보기
git log
- 로컬 저장소에 github 저장소 연결
git remote add origin https://github.com/~
- 만든 커밋 푸시하기
git push origin master
Git 전역 사용자 설정
git config --global user.name "MiryangJung"
git config --global user.email miryang.dev@gmail.com
커밋
- 의미 있는 변동사항을 묶어서 만든다.
- 버튼 클릭 버그를 고치는데 5가지 파일을 수정했다면 5가지를 묶어 하나의 커밋으로
- 동료 개발자 또는 미래의 내가 버튼 클릭 버그를 고치는데 어떤 파일을 수정했는지 쉽게 파악 가능
클론
원격 저장소의 코드를 내 컴퓨터에 받아온다.
풀
원격 저장소의 업데이트된 커밋을 받아온다.
git pull origin master
깃의 4가지 상태
- untracked 추적 안됨 : git log에도 없고 staged 상태도 아닌 파일 (새로운 파일)
- unmodified 수정 없음 : git log에 있는 파일 (git clone 또는 git pull을 했을 때 파일들의 상태)
- modified 수정함 : staging 파일에 올라가지 않은 수정된 파일 (git add가 안 된 상태)
- staged 스테이지됨 : staging 파일에 올라간 수정된 파일 (git add된 상태)
- 커밋을 하면 수정 없음 상태가 된다.
- 수정함, 추적 안됨 파일을 스테이지에 올려 스테이지됨으로 변경한다.
브랜치
HEAD
: 내가 지금 작업하는 로컬 브랜치- 브랜치 만들기
git branch sth
- 브랜치로 이동
git checkout sth
머지
- base가 될 브랜치로 이동
- 브랜치 합치기
git merge sth
컨플릭트
같은 파일의 같은 부분을 고쳐서 푸시할 경우 충돌
직접 수정해야한다.
<<<<< HEAD
원래 코드
=====
수정된 코드
>>>>> feature/branch
풀리퀘스트
- 코드를 함께 작성하는 팀원이 있다면, 직접 머지는 피하고 풀 리퀘스트를 통해서 하는 것이 좋다.
- PR을 보고 코드를 리뷰할 수 있다.
어멘드
수정못한 파일이 있을 때, 방금 만든 커밋에 추가
스태시
변경사항을 커밋을 하지 않고, 킵해두기
리셋
옛날 커밋으로 브랜치 되돌리기
- HARD : 이후 커밋이 없어짐
- MIXED : 이후 커밋이 수정됨 상태로 유지
리버트
변경사항 되돌리기, 이력이 남음
체리픽
커밋 하나만 지금 브랜치에 붙이기
이력 변경
이력 변경이 되는 기능들은 혼자만 쓰는 브랜치에서만 해야함