4월 18일 학습 내용

커리큘럼 수정 사항

  1. Version Control System / "버전관리 시스템"
  2. Computer Science Theory
  3. Procedural Programming with C
  4. Basic Game Programming
    Data Structure / "자료구조"
    Object Oriented Programming / "객체지향 프로그래밍"
    C#
    Unity

    Object Oriented Programming / "객체지향 프로그래밍"
    C++ (OOP / Template)
    Data Structure / "자료구조"
    C#
    Unity

버전 관리 시스템

버전 관리 시스템 : 파일의 변화를 기록하는 것

  • 로컬, 중앙집중형, 분산형
    -> 로컬(local) => 내가 중심
    -> 중앙 집중형 => 서버로 관리
    -> 분산형 => 서버에도 두고, 나도 버전을 가지고 있는것(Git은 분산형에 속한다)

Git

깃(Git)

  • 스냅샷 : 특정 스토리지의 파일 시스템을 포착해 보관하는 기술
    -> 깃은 데이터를 스냅샷의 스트림처럼 취급

  • 세가지 상태로 보관
    -> Committed : 데이터가 로컬 데이터베이스에 안전하게 저장된 상태
    -> Modified : 수정이 일어난 상태
    -> Staged : 현재 수정한 파일을 곧 커밋할 것이라고 표시한 상태

    https://learngitbranching.js.org/?locale=ko
    (깃 기초부터 배우는 사이트)

Git 명령어

----로컬 명령어----
git commit : 선택되어있는 branch를 커밋
git branch : 브랜치 만드는 것
>> 브랜치 : 특정 커밋에 대한 참조
-> -f : 브랜치를 강제로 옮기는 것
git checkout : 특정 버전을 불러오는 것
-> -b : 브랜치 하는 것

git merge : 서로 다른 두 커밋을 합쳐서 새로운 커밋을 만드는것
git rebase : 커밋을 복사하여 다른 커밋에 붙혀넣는 것
-> -i : 인터렉티브 리베이스
git cherry-pick : 원하는 커밋 커밋을 복사하여 가져온다

  • 상대 참조
    • HEAD : 현재 작업 중인 버전
      -> ^ : 특정 커밋의 부모
      >> ^2 : 두번째 부모
      -> ~ : 특정 커밋으로부터 어느정도 떨어진 부모

git commit --amend > 이전 작업한것을 덮어쓰기 한다.
git tag : 특정 커밋에 이름을 남기는 것

----원격 명령어----
git clone : 원 격 저장소를 복제하는 것
git fetch : 원격 저장소의 내용을 로컬에도 동기화
-> 3.1) 로컬에 없는 커밋을 다운로드
-> 3.2) 원격 브랜치를 업데이트
--> 원격 브랜치 : 원격 저장소의 브랜치를 추적
git pull : git fetch + git merge
git push : 로컬 저장소의 내용을 원격에 동기화
-> 5.1) 원격에 없는 커밋을 업로드
-> 5.2) 원격 브랜치를 업데이트

좋은 웹페이지 즐겨찾기