본문 바로가기

기록/TIL

2022/02/26 TIL

 

오늘은 위코드 동기들과 함께 공부한 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