오늘은 위코드 동기들과 함께 공부한 git 명령어들에 관해 간단하게 정리해보고자 한다.
게임을 통해 Git 명령어를 익혀봤는데, 감으로 넘어간지라 글로 한 번 정리를 해놔야 마음이 편할 것 같다.
Learn Git Branching
An interactive Git visualization tool to educate and challenge!
learngitbranching.js.org
이 게임을 이용하여 branch 다루는 git 명령어 위주로 연습해 보았다!
게임을 끝까지 풀어보진 않았고, 메인에서는 코드 이리저리 옮기기, 원격에서는 push & pull 까지 했다.
1. Git 기본
$ git merge branchname //가지 친 branch의 commit 을 기존의 main 브랜치와 병합하는 것!
$ git rebase branchname //특정 branch를 base로 커밋 이력을 재정렬 하는 것!
2. 코드 이리저리 옮기기
$ git checkout main^ //main의 부모로 checkout! //'^' 많이 붙일수록 부모의 부모로 거슬러 올라간다!
$ git branch -f branchname HEAD~n(숫자) //강제로 브랜치를 n번째 commit 뒤로 옮기는 것!
//강제로 branchname 브랜치를 HEAD에서 n번 뒤로 옮겼다는 뜻
$ git reset HEAD~n // local 브랜치에서 마치 커밋하지 않은 것 처럼 브랜치를 이전으로 옮기는 것("히스토리를 고쳐쓴다")
$ git revert HEAD // remote 브랜치에서 새로운 커밋을 만들어 변경 내용을 기록
3. 원격
$ git clone // 원격저장소 생성
$ git fetch //원격저장소에서 데이터를 가져오는 것!##원격브랜치(origin/main)만 업데이트 됨! 로컬은 안됨!##
$ git pull // 원격저장소에 있는 업데이트를 받아오는 것
// ($ git fetch + $ git merge => 가져오기 + 합치기)
$ git push //변경된 commit을 원격저장소로 보내는 것!
$ git pull --rebase // 히스토리가 엇갈렸을 때, rebase로 히스토리를 정리하고 pull로 업데이트를 받아온다!
//( $ git fetch + $ git rebase => 정렬하기 + 가져오기)
'기록 > TIL' 카테고리의 다른 글
2022/03/07 TIL (0) | 2022.03.07 |
---|---|
2022/03/04 TIL (0) | 2022.03.04 |
2022/02/25 TIL (0) | 2022.02.25 |
2022/02/24 TIL (0) | 2022.02.24 |
2022/02/07 TIL (0) | 2022.02.07 |