본문 바로가기 : [Wiki] Git의 모든 것
본 게시글은 스터디 시간에 올린 글에 대한 퀴즈로 구성되어 있습니다.
총 5문제이며, 모두 본문에 나와있는 내용을 토대로 구성하였습니다.
꼭 필요하다고 생각되는 내용들로 문제 출제하였습니다.
1. 아래 조건에 따른 코드를 작성해보시오.
- 현재는 main브랜치에 있습니다.
- [ines]라는 브랜치를 새로 만든 후, 해당 브랜치에서 작업을 수행합니다.
- 작업 수행 후 모든 파일을 추가하고, "공부기능"이라는 커밋메시지를 남깁니다.
- 이후, merge합니다. (github에서 pull request가 아닌, 콘솔창에서의 merge를 의미함)
답)
git branch ines
git switch ines
git add .
git commit -m "공부기능"
git switch main
git merge ines
merge할 때는,
- main/master 브랜치로 이동
- 내가 작업하던 브랜치명을 입력! git merge 브랜치명
2. 다음 중 옳은 것을 모두 고르시오 (branch)
(1) 3-way-merge는 새로운 commit이 1회이상있을 때 merge를 내리면 두 브랜치의 코드를 합쳐서 새로운 commit을 자동으로 생성해준다.
(2) 병합 완료된 브랜치를 삭제할 때는 git branch -d 브랜치이름 명령어를 사용한다.
(3) 3-way-merge는 merge의 기본동작 방식이며, 여러 개 만들어져도 간단히 사용할 수 있다.
(4) 3-way-merge는 commit을 하나로 합쳐서 main 브랜치로 순간이동 시켜주기 때문에, 깔끔해진다.
(5) rebase란 브랜치의 시작점을 다른 commit으로 옮겨주는 행위를 말한다.
정답) 1,2,5번
3번: 3-way-merge는 기본동작 방식은 맞지만, 여러 개가 만들어지면 굉장히 복잡해진다.
4번: squash and merge에 대한 설명이다.
3. 코드 짜다가 실수 했습니다. 이전 커밋으로 되돌리는 명령어 중 커밋메시지를 돌리는 명령어는 아래 3개 중 무엇인지 고르시오.
git reset, git revert, git restore
답) git revert
- git reset : 시간 되돌리기
- git revert : commit 복구
- git restore : 복구
4. 브랜치 전략 중 출시된 버전의 안정성이 중요한 프로그램들, 아직 뼈대가 확실하지 않아 연구식으로 개발하는 프로그램들은 git flow로 진행합니다. 하지만 코드짠 걸 바로 대중에 배포를 해도 상관없는 프로그램이거나, 크게 바뀌는 업데이트가 없는 프로그램이라면, 굳이 브랜치를 많이 만들 필요가 없습니다. 이런 경우, 어떤 브랜치 전략을 사용하는가?
답) Trunk-based
Trunk-based는 main 브랜치랑 기능 추가용 feature브랜치만 운영하는 전략이다.
5. 코드를 잠깐 보관하고자 할 때는 git stash를 이용한다.
(1) 이렇게 보관했던 코드를 다시 불러오려면 사용한 명령어는 무엇인가? git stash pop
(2) 또한,현 재 stash에 보관된 내용은 아래 표와 같을 때, 어떤 코드가 가장 먼저 불려오는가? stash 0 (또는 가장 최근 코드)
git stash ___
임시 보관함 |
stash 0 (5분전) |
stash 1 (10분전) |
stash 2 (15분전) |
stash 3 (20분전) |
'🤔Study . Question🔍' 카테고리의 다른 글
[Q] Question3. Spring 파트1. About Spring (6) | 2023.07.27 |
---|---|
[A] Question3. Spring 파트1. About Spring (0) | 2023.07.27 |
[A] Question2. 빅데이터분석실무2급 내 맘대로 정리 (정답) (0) | 2023.07.20 |
[Workshop] 빅데이터분석실무2급 내 맘대로 정리 (2) | 2023.07.18 |
[Q] Question1. Git의 모든 것 (문제) (2) | 2023.07.13 |