Git_ 인프런 03

5w31892p·2022년 11월 14일
0

Git

목록 보기
4/10

📜 인프런 강의

::✍ 이전 강의 복습

소스트리 처음 시작할 때 git 설치시 적은 이름, 메일 적기

git 설치 후 설정

git config --global user .name “설정할이름”
git config --global user .email 설정할메일

이름, 메일 저장 확인

git config user .name
git config user .email

그 외 명령어

git add # 스테이지로
git status # 스테이지에 있는 것들 보기

git commit -m “커밋메시지” # 커밋
git log # 커밋된 내용 보기

git push origin master # 보내기
git pull origin master # github 땡겨받아 현재 브랜치와 merge
# commit 후 pull하기! 꼭
git clone 저장소주소 # github 복제해오기

git checkout -b 원하는브랜치명 # 브랜치 생성

git reset 커밋해시복붙 # 되돌리기
# git log로 되돌로고자 하는 commit 복사 후 reset에 복붙

git stash # 작업 임시저장

git branch -v # 로컬 브랜치 정보와 마지막 커밋 내역

commit 되돌리기

  • revert ( 커밋되돌리기 )
    • 기존 버전 변함없이 유지된 채로 새로운 버전 생성
    • 이전 모든 버전 유지한 채로 되돌리고 싶을 때 사용

  • reset ( 이 커밋까지 브랜치를 초기화 )
    • 완전히 되돌리기
    • 되돌리고 싶은 시점으로 돌아감
    • 되돌린 버전 이후의 버전들은 모두 사라짐
soft reset
  commit만 되돌림
  add 유지

mixed reset
  commit, add 되돌림
  변경사항 생성만 유지

hard reset
  작업디렉터리까지 모두 되돌림

stash

  • 작업 임시저장 ( 스태시 )

branch

  • 버전을 여러 흐름으로 관리
  • HEAD
    • 현재 작업 중인 브랜치 commit
  • checkout
    • HEAD 위치를 작업할 브랜치의 최신 commit으로 이동
브랜치 나누기(만들기)      브랜치 클릭
브랜치 이동               해당 브랜치명 더블클릭
브랜치 삭제               삭제할 브랜치 우클릭 후 삭제

::✍ merge

병합 기준이될 브랜치(master)로 이동 후 
병할할 브랜치(foo) 우클릭 현재 브랜치로 foo 병합 클릭

병합후 필요없는 브랜치는 우클릭 후 삭제

::✍ 충돌 해결

어떤 브랜치의 내용 반영할 것인지 선별

선별 후 다시 commit

충돌

병합하려는 두 브랜치가 서로 같은 내용을 다르게 수정한 상황
충돌 후 git이 남겨놓은 것
<<<<<<< HEAD
master                 - 현재 브랜치 내용
=======
foo                    - foo 브랜치 내용
>>>>>>> foo

여기에서 반영할 내용 선별

git

  • 적용할 브랜치의 내용만 남겨두고 다 삭제한 후 commit

소스트리

  • history 내 스테이지에 올라가지 않은 파일에서 해당 파일 우클릭 후 충돌해결 후 반영할 내용 선별
    내것으로 – 병합 기준이 됐던 master 변경사항으로
    저장소것으로 – 병합하려고 했던 foo 변경사항으로
  • 해결 후 파일 상태 가면 커밋메시지 자동 작성되어 있음
  • 그 상태에서 add할 것도 없이 바로 commit 하면 merge 완료

::✍ 7. 브랜치 재배치 (rebase)

  • merge 사용
    히스토리를 볼 때 뿌리가 여러개로 나눠져 있어서 히스토리를 찾아갈 때 보기가 어려움
  • rebase 사용
    베이스를 다시 정의함으로써 새롭게 커밋 라인을 정리하여 히스토리를 깔끔하게 볼 수 있음

example

  1. master 4개 commit
  2. foo master 2번째 commit에서 뻗어 나와 서 그 후로 2개 commit

이때 foo를 master 4번째 commit으로 rebase

    1. foo로 체크아웃
  1. 베이스를 옮기고자 하는 commit 우클릭 후 재배치 클릭

rebase 과정에서 충돌

그럴 때에도 어떤 브랜치 내용 반영할지 선별 후 commit

0개의 댓글