OSS - Git과 Github

Pongchi·2022년 6월 10일
0

오픈소스 프로젝트의 특징

  • 여러 사람이 동시에 개발을 진행
  • 개발 기능 및 코드의 양이 방대
  • 파일/기능이 변경될 가능성이 높음

오픈소스 프로젝트의 문제점

  • 하나의 코드/파일을 동시에 편집한다면?
  • So, 버전 관리가 필요

Git

컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템

  • Git은 리누즈 토발즈에 의해 개발됨.
    ( 아닛..? 이분은 리눅스를 개발하신분이 아니시던가.. )

분산 버전 관리

  • 중앙 버전 관리(Subversion) vs 분산 버전 관리(git)

  • 원격 저장소(Remote Repository) : 다수가 공유하고 있는 원격의 공용 저장소

  • 로컬 저장소(Local Repository) : 개인만 사용하는 단독 저장소

  • 로컬 저장소에서 개발하고 평가가 완료된 내용에 대해서 원격 저장소 저장

Git vs Github

Github

분산 버전 관리 툴인 깃(Git) 프로젝트를 지원하는 Internet hosting 서비스

사용자 이름 및 email 등록

  • git config --global user.name NAME
  • git config --global user.email EMAIL

터미널 색상 출력

  • git config --global color.ui.auto

설정 확인

  • git config --list

SSH key 생성 및 확인

  • ssh-keygen -t rsa -C EMAIL
  • cat ~/.ssh/id_rsa.pub

Github 설정

  • Setting -> SSH and GPG Keys -> New SSH Key -> Key
  • Title 입력
  • Key 입력 (Copy & Paste)

Repository

  • 생성한다음에
  • Code 버튼 눌러서 SSH
  • 복사
  • git clone git@github.com:...
  • cd ...

Git Status

Local Repository의 상태

  • 2단계의 상태 정보를 가짐
  • Working Directory : 저장소에 신규 파일 또는 업데이트 파일들이 있는 디렉토리
  • Staging Area : 로컬 저장소에 저장하기 위한 임시 공간
    ( 선별적으로 로컬 저장소에 저장하기 위함 )

Working dir -> Staging Area

  • git add [filename]
  • git add --all / git add .
  • 스토리지 상태 확인 : git status

Statging Area -> Working dir

  • git rm --cache [파일이름]

Staging Area -> Local Storage

  • git commit -m "메시지"

Commit 이력(log) 확인

  • git log

Commit 했던 것을 수정하고 싶은 경우

누락된 파일을 새로 추가하거나 기존의 commit된 파일(직전의 commit에 한함)을 수정하고 싶은 경우

  • git log
  • git add printf.c
  • git command --amend -m "메시지"

Local -> Remote Repository

  • git push origin main
profile
- I'm going to be a ???

0개의 댓글