What I Learn Today

Start Date : 2022/02/07 ~

Learn/Company

[TIL #6] Git 실습 - 형상관리

HannaDev 2022. 2. 15. 17:40

출근 7일차 ! 오늘은 형상관리(Git)에 대한 교육을 받았습니다.

 

오늘은 협업 Tool 관련 교육인 만큼 실습 과제도 진행하였습니다. (*ˊᵕˋ*)ノ


▶ 전체적인 스케쥴

  • 자리 세팅 - 0.5h
  • 개발 스크럼 회의 참관 - 0.5h
  • AWS 공부 (DNS, Load Balancer...) - 0.5h
  • Back-end 교육 (형상관리, Git) - 2h
  • 점심 ⇒ 동기 분들과 대화 - 1h
  • Git 실습 (소스 트리 활용 branch 테스트) - 2h
  • Git 실습 (terminal, vim 사용 Git 실습) - 1h
  • [오후 4시] 복습. Notion, Tistory 작성 - 2h

▶ 세부 스케쥴

더보기
더보기
  • 개발 스크럼 회의 참관 - 0.5h
    • 주요안건 : 릴리즈 시나리오
  • Back-end 교육 (형상관리, Git) - 0.5h
    • Git 의 가장 중요한 역할은 '협업'
      => Git Flow 이해하기
    • merge 시 충돌 -> 어떻게 해결할 것인가
      => 경력자 면접 볼 때 반드시 묻는 질문이다.
      => 뚜렷한 방법은 없다. 어떻게 해결한 것인지 고민하는 자세가 중요.

 

Github Desktop 만 사용하다 소스 트리는 처음 사용했는데 낯선 부분이 많네요. _〆(。。)

게임 개발 당시 마감 직전에 충돌나서 그 다음부터 brunch 기능은 안 사용했었는데

미리 학부 때부터 연습했으면 좋았었겠다라는 생각이 들었습니다!


▶ 실습 (소스 트리)

<소스 트리 사용하여 Git 실습 - 자율 학습>

 

  • 파란색이 내 브런치이고 하늘색이 main 이다.
    • 충돌로 인해 revert 를 해서 중간에 트리가 살짝 꼬여 있다.
    • 이 후에는 브런치에서만 작업 후 병합하여 충돌 방지.
  • 첫번 째 충돌 발생 (Readme 중복)
    • 소스 트리에 익숙하지 않아 일단 이것저것 눌렀다.
    • 의도치 않게 기존 커밋이 사라지고 내 꺼로 덮어 씌어졌다.
    • Rollback → 처음 상태로 돌아감.
    • 이후, 브런치에서만 작업 진행.
  • 두번 째 충돌 발생 (의도적으로 Readme 에서 발생)
    • 안전하게 브런치를 2개 만들어서 서로 충돌나도록 만들었다.
    • 수정하여 충돌을 해결하거나 둘 중 하나를 선택해서 해결 가능.
    • 하나를 선택하여 덮어 씌우는 방식으로 충돌을 해결했다.

 

▶ 실습 (Terminal)

<Terminal 을 사용해 Git 실습 - Vim 사용법도 같이 공부>

 

소스트리 말고도 터미널을 사용한 Git 실습 + vim 에디터 사용

 

[1단계] 변경 사항 스테이지에 올리기 (git add .)

[2단계] 스테이지에 올라온 변경사항 commit 하기 (git commit -m “메세지”)

[3단계] commit 한 내용 origin에 push 하기 (git push -u origin /*브런치 이름*/)

 


▶ 오늘 일자 교육 내용



[2/15 (화)] -> Git

- Git vs GitHub 개념
  - Git Client
- Git 의 가장 중요한 역할은 '협업'
  - Git flow 그림 설명
- 원격 Git vs 로컬 Git
  - clone vs copy
- master(=main) vs branch
  - 브런치 전략 (release branches 는 현재 없다.)
- merge 시 충돌 => 어떻게 해결할 것인가
  - 뚜렷한 방법은 없다. 이를 어떻게 해결할 건지 고민하는 자세가 중요.
    - 예시 : [1] 불려서 해결점을 찾는다. [2] 수정 이전 코드를 보며 Git 상에서 수정한다.



[2/15 (화)] -> 과제

- Git Command Test
  - 문서 생성하기
  - branch 만들기
  - push, commit, merge
    - 트리 구성도 눈에 익히기
  - gitignore 만들기
  - readme.md 수정하기
    - 충돌 해결하기
  - 스태시 만들기