TIL - 2024.05.16 목요일

· 성취/개선/학습한 내용 🏆

 VCS(Version Control System)은 파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전으로 꺼내올 수 있는 시스템이다. 대표적으로 개발자들이 사용하는 Git이 있다. VCS는 CVCS와 DVCS로 분류할 수 있는데 중앙에서 집중적으로 관리하느냐 코드를 분산하여 관리하느냐에 차이이다. Git은 이중 DVCS라고 할 수 있다.

 사실 최근에는 개인 프로젝트 위주로 진행했었고, 애플 디벨로퍼 아카데미에선 Reset이라든지 Revert라든지 Rebase 등을 사용해 볼 기회가 없어서 어떤 기능인지 정확하게 알지 못했다. 이번에 학습을 통해 알게 되었는데 Reset 같은 경우는 특정 과거 시점으로 돌아가고 그 뒤 커밋들의 연결 관계를 다 끊어버리는 기능이고, Revert는 지금 시점으로부터 과거 시점까지 역산을 해서 '변경 커밋을 남기며' 특정 과거 시점으로 돌아가는 기능이다. 마지막으로 Rebase는 다시 베이스를 만들어주는 기능이라는 것을 알게되었다. 그리고 아직 깊게 Git에 대해 알지는 않지만 Git이 서로 포인터로 연결되어 있고, 델타 방식과 스냅숏 방식을 혼합해서 사용한다는 것도 알게 되었다. 

  • VCS
    • CVCS vs DVCS
  • Git
    • Amend Commit
    • Detached HEAD
    • Reset vs Revert
    • 3Way Merge vs Fast forward Merge
    • Rebase

· 궁금한 내용과 부족한 내용⁉️🤔

  • CVCS으로 개발을 할 때는 얼마나 힘들고 귀찮은 작업이었을까?
  • Git을 사용할때는 꼭 터미널을 사용해야 할까? GUI 앱을 사용하면 안 좋은 점이 있나?

 

 

 

'# TIL (Today I Learned)' 카테고리의 다른 글

TIL - 2024.05.20 월요일  (0) 2024.05.20
TIL - 2024.05.17 금요일  (0) 2024.05.17
TIL - 2024.05.14 화요일  (0) 2024.05.14
TIL - 2024.05.13 월요일  (0) 2024.05.13
TIL - 2024.05.10 금요일  (0) 2024.05.10