본문 바로가기
  • Hi Hello, Code
🤔Study . Question🔍

[A] Question1. Git의 모든 것 (정답)

by 밍구링구링 2023. 7. 13.

본문 바로가기 : [Wiki] Git의 모든 것

 

[Wiki] Git의 모든 것

🚨 글의 모든 내용은 코딩애플의 강의를 듣고 작성하였습니다. 이미지의 일부는 직접 찍은 이미지이지만, 대부분 코딩애플에서 가져온 이미지입니다. 이 글의 목적은 스스로 정리하고, 추후 문

minsllogg.tistory.com

 

본 게시글은 스터디 시간에 올린 글에 대한 퀴즈로 구성되어 있습니다. 

총 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할 때는, 

  1. main/master 브랜치로 이동
  2. 내가 작업하던 브랜치명을 입력! 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분전)

 

반응형