오늘 한 일

  • 깃허브에 구글 클론코딩 커밋함
  • git 사용법 배움

공부한 내용

git이란?

버전 관리 시스템

  • Centralized Version Control

    : 서버에서 히스토리를 관리하며 각각의 개발자들이 원하는 내용을 서버에 업데이트해서 즉각적으로 동기화가 이루어지는 시스템 → 서버에 문제가 생기거나 오프라인 상태에서 작업 불가함

    • CVS, SUBVERSION, PERFORCE 등
  • Version Control System

    : CVC의 문제점을 개선함 → 모든 개발자들이 동일한 히스토리 정보를 가지고 있음(분산)

    서버에 문제가 발생해도 각각의 개발자들이 동일한 히스토리를 가지고 있기 때문에 서로의 정보를 이용하여 서버를 보안하고 작업을 이어 나갈 수 있음, 오프라인 가능

    • git, mercurial, darce 등
    • 서버는 회사의 Private Server를 이용하거나 github나 Bitbucket 같은 클라우드를 이용함

git의 장점

프로젝트의 전체적인 내용을 가지고 있어 버전들 사이로 이동이 가능하고 브랜치들 사이에서도 이동이 오류 없이 빠르게 적용됨

  • 가장 많이 사용
  • 오픈 소스
  • 오프라인 가능
  • 실수를 고치기 쉬움
  • 쉽고 빠른 브랜치 → 협업에 효율적

Git Workflow

working directory

  • tracked : git이 트래킹 하고 있는 파일, 트래킹 시점에서 수정의 유무에 따라 나뉜다.
    • modified : 수정 됨 → staging area로 옮겨 갈 수 있음
    • unmodified : 이전 버전과 비교해서 수정 되지 않음
  • untracked : 새로 만들어진 파일, 기존에 존재하던 프로젝트에서 깃 초기화
    → 깃이 파일에 관한 정보가 없기 때문에 트래킹이 되지 않음

staging area

버전 히스토리에 저장할 준비가 되어 있는 파일들을 옮겨 놓음

git directory

버전 히스토리를 가지고 있음

git 명령어

기본 명령어

  • git init : git 초기화
  • rm -rf .git : git 삭제
  • git status : 깃의 상태를 볼 수 있음
  • git diff : 파일의 수정된 내용 확인

git commit

staging area에 있는 변경사항을 git repository에 옮겨주는 역할

  • git directory의 커밋들은 히스토리의 창고 이며, 작업들을 버전 별로 관리할 수 있음
  • 히스토리에 전체적인 어플리케이션을 만들어서 하나의 커밋으로 저장하게 되면 의미가 없음
    → 세분화 해서 기능별로 작은 단위로 의미 있는 이름을 지정해서 만드는 것이 중요

git branch

현 시점에서 여러 미래로 분기하는 방법

  • 각각의 브랜치는 다른 브랜치의 영향을 받지 않기 때문에 여러 작업을 동시에 진행할 수 있음

git merge

branch 병합

GitHub

git을 사용해서 클라우드를 쓰듯이 소스를 업로드해서 저장하고 다른 개발자들과 공유할 수 있는 git 저장소

git remote

원격 저장소를 관리할 수 있는 명령어

git remote add origin https://github.com/user-repository

해당 github 레파지토리를 이 폴더의 'origin'이란 이름의 원격 저장소로 설정함

git push

git push -u origin main

브랜치에 커밋된 내용들을 origin의 레파지토리의 main 브랜치에 저장함

gitignore

프로젝트 중 깃에 포함하고 싶지 않은 파일들은 .gitignore이라는 파일에 추가할 수 있음

해야 할 일

  • 클론코딩 수정

나름 꼼꼼하게 했다고 생각했는데 모바일에서 툴팁박스가 저 상태다..

  • git 추가 공부 하기 , 아직 모르는 게 너무 많다..

0개의 댓글

Powered by GraphCDN, the GraphQL CDN