Git Hub 코드 올리기
- ls
- ls -al ⇒ 내용 보기
- git config —global user.name “이름” ⇒ 사용자 정보 등록
- git config —global user.name 이메일
- git bush
- git
- cd 폴더/ ⇒ 폴더 지정
- cd.. ⇒ 이전 폴더
- git init ⇒ 폴더를 지정하여 git 시작 (1폴더 1 로컬 저장소)
- git add 파일 명 ⇒ 원하는 파일 업로드(고정)
- git commit -m “프로젝트 설명 추가” ⇒ 선택한 파일 묶어 설명
- git log ⇒ 생성 커밋 보기
- git remote add origin url ⇒ 원격 저장소에 업로드
- git push origin master ⇒ 만든 커밋 보내기 (파일 생성 후 가능)
원격 저장소를 내 컴퓨터에 받아오기
- git clone UI . ⇒ 원격 저장소 다운로드 / “.” 생략 시 새 폴더 생성
원격 저장소 변경 사항 내 컴퓨터에 받아오기
- git pull origin master
협업 시나리오
- 폴더 생성
- 로컬 저장소 생성 ⇒ git init
- 파일 제작 후 팀원에게 커밋 발송 ⇒ git add, git commit-m “-”
- 깃헙에 원격 저장소를 생성
- 로컬 저장소에 원격 저장소 주소 알려주기
⇒ git remote add origin 저장소 주소 .
- 커밋 원격 저장소에 푸시 ⇒ git push
- 팀원이 올린 원격 저장소의 파일 다운 ⇒ git clone UI
- 다시 원격 저장소에 올리기 위해서 collaborator 권한 부여 후 새 커밋 발송 ⇒ git push
[GUI] Git이 추적하는 파일의 4가지 상태
추적 안됨(한번도 올리지 않음), 수정 없음, 수정함, 스테이지 됨
- master ⇒ 로컬 코드
- origin/master ⇒ 원격 코드
브랜치
- HEAD ⇒ 내가 지금 작업하는 로컬 브랜치
- 하나의 원본 저장소
- git branch 파일명 ⇒ 파일명 브랜치를 현재 시점에 만듬
- git checkout 파일명 ⇒ 파일명 브랜치로 이동
브랜치 합치기
- 베이스가 될 마스터 브랜치로 이동
- git merge 파일명
충돌
- Fast-forward : 빨리 감기
- Merge commit : 새로운 커밋 생성
- Conflict : 충돌
- 두 버전이 같은 곳을 수정 했다면 수동으로 고쳐야 한다
포크
- 여러 원격 저장소로 분기 나눔(원본에 영향 X)
- 저장소 통째로 복제
풀 리퀘스트
- 내가 수정한 코드 머지 요청
- 팀원과 함께 할 경우 최대한 직접 머지는 피하자
- 오픈 소스에 PR을 보낼 때 기여 안내 문서를 반드시 참고
amend
- 수정 못한 파일이 있을 때 방금 만든 커밋에 추가
stash
- 변경 사항을 잠시 보관 (커밋에 미포함)
reset
- 옛날 커밋으로 브랜치 되돌림
- 마스터 수정
- 강제 push (개인용만 가능) : 별도의 설정 필요
revert
- 변경사항을 되돌림
cherry-pick
- 브랜치에서 커밋 하나만 때서 브랜치에 붙임
[인프런-진유림 강사님]