일상/컴퓨터

[GitHub 깃 & 깃허브 입문] 웹에서 Git 배우기

미적미적달팽이 2023. 5. 20. 18:29

[GitHub 깃 & 깃허브 입문] 깃허브에서 제공하는 추가 개발 서비스

 

[깃 & 깃허브 입문] 깃허브의 기능

2023.05.13 - [일상/코딩] - [깃 & 깃 허브 입문] 깃허브를 포트폴리오로 [깃 & 깃 허브 입문] 깃허브를 포트폴리오로 HTML, CSS 파일로 사이트 만들기 이력서 파일 준비하기 깃허브는 정적인 사이트로서,

gunrestaurant.tistory.com


Learn Git Branching

Do it! 지옥에서 온 문서 관리자 깃&깃허브 입문 책의 깃에 대한 공부를 마치고, 깃의 개발 환경에 대해 복습을 해봅니다.

https://learngitbranching.js.org/?locale=ko 

 

Learn Git Branching

An interactive Git visualization tool to educate and challenge!

learngitbranching.js.org

복습은 위 사이트를 이용해서 진행하였습니다.

 

 

위 사이트에 접속을 하면 사이트에 대한 전반적인 소개와 Git에 대한 간단한 명령어를 소개하고 연습 단계를 고를 수 있습니다.

크게 메인과 원격 저장소를 다루는 방법으로 나뉘며 커밋에 대한 이해를 시작으로 Git을 다루는 방식을 연습할 수 있습니다. 단순히 복습 용도로 뿐만 아니라, 처음 배울 때에도 웹에 구축된 환경을 통해 쉽게 Git에 접근하기에 용이합니다.

 

 

git 기본에서 1: Git 커밋 소개로 넘어가봅니다.

Git 커밋에 대한 소개를 시작으로 애니메이션을 통해 깃에 대해 배울 수 있습니다. 그냥 줄글로만 나열된 학습보다, 반응형 애니메이션들로 기본 개념들을 쉽게 이해할 수 있습니다. 단점은 코드 실습도 명령 하나하나 애니메이션으로 나와서 조금 느리다는 점이 있습니다.

이론 설명이 끝나면 웹에서 실습을 해볼 수 있습니다. 왼쪽 아래에 $가 표시된 곳에 명령어를 입력할 수 있습니다. 목표를 진행하면 다음 단계로 넘어갈 수 있습니다. 

 

 

단계를 진행하다 보면 책에서 배우지 않았던 rebase, tag 등에 대해서도 학습할 수 있습니다. 이를 통해 rebase와 merge의 차이점에 대해서도 배울 수 있습니다. 브랜치나 커밋을 옮겨 다니는 git checkout은 마우스 버튼으로 클릭하는 것으로도 가능합니다. 

rebase에서 interactive 옵션을 사용했을때, 실제 git bash에서 UI창을 띄우는 것 대신에 vim과 같은 텍스트 편집기에서 파일을 여는 것을 대체해서, 같은 역할을 하는 작은 대화창을 만들어서 실습이 가능합니다.

 

 

단계별로 모법 답안의 명령 시행 횟수를 알려주어서 좀 더 짧고 간단하게 개발을 할 수 있는 방식을 연습할 수 있게 도와줍니다.

우측 아래의 물음표 버튼을 누르면 잘못 명령을 실행했을 때 reset이나 undo를 할 수 있는 버튼이 있습니다. 또한 levels로 자신의 진행 상황을 확인할 수 있으며 solution으로 모범 답안을 확인할 수 있습니다. 

 

 

가짜 명령어인 git fakeTeamwork 명령으로 원격 저장소에 커밋을 생성할 수 있는 기능도 있습니다.

 

 

모든 단계를 완료하면 위와 같은 메시지가 출력됩니다. levels를 누르면 자신이 모든 코스를 완료했음을 알 수 있습니다. 책에 나온 것들을 간단하게 복습할 수도 있고, 책에서 보지 못한 명령들을 배울 수도 있습니다. 하지만 깃허브와 연동해서 작업하는 활동은 할 수 없으므로 각각의 장단점을 잘 이용해서 깃에 대해 독학할 수 있습니다.

 

 

 

 

 

명령 및 옵션

명령 및 옵션 설명
git revert 위치 원격 저장소로 공유되는 브랜치를 해당 위치로 되돌리기
git reset 위치 로컬 저장소의 브랜치를 해당 위치로 되돌리기
git rebase main 참조하고 있는 branch를 main branch의 마지막 커밋 뒤의 한줄로 이동
git checkout HEAD^n HEAD를 한 커밋 위로 이동, 뒤에 숫자를 붙이면 side 브랜치로 이동 가능
git checkout HEAD~n HEAD를 n개의 커밋 위로 이동
git rebase -i interactive 옵션으로 한번에 여러 커밋들을 순서를 변경하거나 삭제 등의 수정이 가능
git rebase 브랜치명 main main 브랜치를 해당 브랜치의 최신 커밋으로 이동
git commit --amend 최신 커밋 수정
git tag 태그명 커밋명 해당 커밋에 태그 생성
git describe 커밋 또는 HEAD가 가장 가까운 태그와의 관계를 나타내며 가장 가까운 tag_몇 커밋 멀리있는 지의 수_g설명하고 있는 커밋의 해시 형식으로 출력
git bisect 결함이 발생한 커밋 정보 확인 가능
git branch -f 브랜치명 위치 브랜치를 강제로 이동
git pull --rebase fetch와 rebase를 실행
git checkout -b 브랜치명 위치 브랜치를 생성하고 전환
git push origin <source>:<destination> source의 위치를 기반으로 push되지 않은 커밋을 push하고 destination 브랜치로 갱신
git fetch origin <source>:<destination> source의 위치를 기반으로 fetch 되지 않은 커밋을 fetch하고 destination 브랜치로 갱신
git push origin :<destination> source 없이 입력하면 입력한 브랜치를 삭제
git fetch origin :<destination> 로컬 저장소에 fetch하지 않고 해당 브랜치를 생성
git pull origin <source>:<destination> 지정한 브랜치에 커밋을 pull하고 checkout 중인 브랜치로 병합

 

반응형