[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 중인 브랜치로 병합 |
'일상 > 컴퓨터' 카테고리의 다른 글
[논문 리뷰] 트랜스포머 transformer 기반 가짜 뉴스 탐지 (4) | 2024.08.11 |
---|---|
Open AI & Stremalit으로 캐릭터 챗봇 만들기 (5) | 2024.08.04 |
[GitHub 깃 & 깃허브 입문] 깃허브에서 제공하는 추가 개발 서비스 (0) | 2023.05.20 |
[GitHub 깃 & 깃허브 입문] 깃허브를 포트폴리오로 (0) | 2023.05.13 |
[GitHub 깃 & 깃허브 입문] VS code로 다루기 (0) | 2023.05.05 |