(TIL-3) Git Branch

git branch

  • 현 로컬 저장소(local repository)의 모든 branch 목록 확인

git branch -r

  • 현 로컬 저장소(local repository)와 연결된 원격 저장소(remote repository)의 모든 branch 목록 확인
  • 로컬 저장소의 브랜치가 아니라 원격 저장소의 브랜치 목록이란 점 주의!
    alt text

git branch -a

  • local과 remote branch 목록 모두 확인

git remote -v

  • 현 로컬 저장소에 연결된 모든 원격 저장소의 목록을 보여줌
  • v=(verbose) 각 원격 저장소의 이름(보통 origin)과 해당 원격 저장소의 url을 보여줌

git branch py-init

  • local 저장소에 py-init라는 로컬 branch 생성

git switch py-init

  • 로컬 저장소에 연결된 py-init라는 branch로 이동
    alt text

git branch -D py-init

  • py-init branch 삭제
    alt text

git 사용 중 conflict가 발생하는 경우!
alt text

  • 이런 경우 충돌이 일어난 파일을 결국 프로그래머가 중재해서 하나로 통일시켜야함.
  • 즉 지울것 지우고 바꿀꺼 바꿔서 다시 commit, git push 하면 다음과같이 visualize됨
  • conflict를 중재하고 github에 commit하면 이렇게 보임
    alt text

git push -u origin gh-fb

  • github에 없던 branch를 처음 push할때는 -u를 딱 한번 써야함
  • git push -u origin 명령은 현재 브랜치의 변경사항을 origin이라는 원격 저장소로 푸시하면서, 해당 브랜치를 기본 원격 브랜치로 설정하는 역할을 합니다. 이로써 추후에 동일 브랜치에서 git push나 git pull 명령을 실행할 때 원격지와 브랜치를 지정할 필요 없이 간단하게 명령을 실행할 수 있게 됩니다.

git pull origin main

  • remote에 있는 사항을 local에 업데이트(github과 동기화)

git mv main.py hello.py

  • 그냥 `mv main.py hello.py’라고 하면 파일명을 바꿔주고 끝
  • git을 앞에 붙이면 파일명 변환과 함께 git add가 동시에 반영되서 stage에 자동으로 올라감. 즉 add 없이 commit만 하면 됨.

git restore hello.py

  • hello.py 파일을 최신 commit 상태로 되돌려준다.
  • 최신 commit 이후 파일을 수정했는데 되돌리고 싶을때 사용

git restore –stage README.md
git reset HEAD README.md

  • 둘다 README.md라는 파일이 staged된 상태(git add 실행후)에서 unstaged상태로 되돌려준다.

git commit –amend

  • 마지막에 commit한 것의 commit message를 수정해주는 명령어