Git

git (1)

sanadoing_ 2022. 7. 18. 00:43
728x90

 

VCS (Version Control System)

: 프로젝트 개발(협업)할 때 소스코드, 문서 등 버전을 관리하는 시스템

VCS 종류

  • CVCS (Centralized VCS)
    : 중앙집중식 / Client-Server 방식
    : 서버에 소스파일과 버전 히스토리 저장
    : 단점 - 서버가 고장나면 협업이 어려움
    ex) CVS(Concurrent Version System), SVS(SubVersion) 등
  • DVCS (Distributed VCS)
    : 분산 관리 시스템
    : 소스와 히스토리를 여러 PC에 분산 저장
    : 서버 장애시 로컬저장소를 이용해 중앙 저장소 복원 가능
    ex) Git, Mercurial, Bazaar 등

 

Git

  • 2005년, 리눅스 커널 개발자인 리누스 토르발스에 의해 개발됨
  • DVCS (분산 버전 관리 시스템)
  • 빠른 협업 환경 조성
  • 지속적인 버전 관리가 필요한 경우 사용
  • 수천개의 브랜치(branch) 작업 동시 수행 가능
  • Local에서 소스 버전 관리할 때 사용
  • 중앙 서버와 독립적으로 Local에서 완벽하게 소스와 이력 관리

 

Git vs Github

  • Git
    : 분산 관리 시스템 소프트 웨어
    : 로컬 저장소 (Local Repository) 사용
    : Local 내에서 git을 이용하여 버전 관리

  • GitHub
    : 원격저장소 (Remote pository) 제공
    : Local에서 관리하는 소스코드를 업로드 후 공유
    : 다른 개발자와 협업할 때 사용
    : https://github.com

 

Git & Github

 

Git 연동

  • Windows, Mac Os, 리눅스, 유닉스 등 지원
  • 여러 프로그램에서 git 연동 및 github 소스 공유기능 제공
    : Vscode, Vs, android studio, eclipse, IntelliJ IDEA 등

 

Git 사용

   1. 로컬 저장소 생성

mkdir <dir 이름>
cd <dir 이름>
git init

 

   2. 원격 저장소 복제

git clone <GitHub의 Repository 주소>

   3. add / commit

-> 파일 생성 추가, 수정 삭제 -> ( Add ) -> Staging Area 추가 -> ( Commit ) -> 수정내역을 저장소에 제출 ->

   git rm

  • Untracked file 삭제
    : rm 명령어를 사용하여 삭제
  • Tracked file 삭제
    : 로컬 디렉토리와 git 저장소에서 모두 삭제
git rm <filename>
  • git에서만 삭제, 로컬 디렉토리에느 삭제하지 않음
git rm --cached <filename>

 

   git status

  • 현재 파일 상태를 확인하기 위해 사용하는 명령
    : Untracked file 상태 / Staged 전 상태 / commit 전 상태

   git log
: Commit history 를 볼 수 있음.

git log
git log -3 // git commit 기록 중, 3개 출력
git log -p -1
git log -2 --oneline
git log --author=Brandon
git log --pretty=oneline --graph // git commit 기록을 한줄로 그래프 표현 !

 

   git diff
: 커밋 내역을 비교하거나 commit 과 working tree 변경 내역 확인

  • 워킹 디렉토리와 Staging area 비교
git diff
  • commit 내용과 Staging area 비교
git diff --cached
git diff --staged
  • commit 과 다른 commit 비교
git diff commit1_checksum commit2_checksum

 

 

   gitignore 파일

  • git 저장소에서 관리할 필요가 없는 파일이나 폴더 작성
    실행파일, 목적파일
    Hidden file
    id / password 등 보안 정보
    개인 파일
    실행파일이 저장된 폴더 (/bin, /out)
  • git 저장소 폴더에 .gitignore 파일 생성
  • .gitignore 파일 생성 사이트 : 개발환경, 언어별 작성 가능
    : https://www.gitignore.io/
  • 폴더 안에 vi .gitignore 을 하여 생성 사이트에서 코드 복사하여 붙여 넣으면 됨.
728x90