Git과 Github

Dubiju·2022년 10월 28일
0

SEB_BE_42기

목록 보기
6/7
post-thumbnail
post-custom-banner

Git

: 개발자의 코드를 효율적으로 관리하기 위해서 개발된 '분산형 버전 관리 시스템'

  • 파일의 변경 사항 추적, 사용자가 각 파일의 버전을 관리할 수 있게 도움
  • 파일 백업
  • 파일 공유 및 취합 가능 => 협업 가능

Github

: Git Repository를 관리할 수 있는 클라우드 기반 서비스

영역

  • Online: Remote Repository(원격 저장소)
  • Local
    - Work space(작업 공간)
    • Staging area(스테이징 영역): Local에 저장할 파일 임시 대기 영역
    • Local repository(지역 저장소)

Git Repository

: 파일이나 폴더를 저장해두는 저장소

✔️ Remote Repository

: 원격 온라인 서버 상의 저장소

  • 여러 사람이 함께 공유 가능

✔️ Local Repository

: 내 컴퓨터의 저장소

  • 내 개인 전용 저장소

Git으로 버전을 관리하는 폴더에 대해 Github을 통해 여러 사람들이 공유하고 접근 가능

  • Git: 로컬에서 버전 관리해주는 프로그램
  • Github: Git을 클라우드 방식으로 구현한 서비스

버전 관리를 사용하는 이유

  1. 파일이 변경되면 변경 이력을 저장할 수 있다.
  2. 이전 버전으로 돌아갈 수 있다.
  3. 어떤 변경 사항이 발생했는지 알아보기 쉽다.
  4. 협업하기 좋다.
  5. 백업용

오픈소스

: 소스 코드가 공개된 소프트웨어

  • 누구나 자유롭게 해당 기능을 추가하고 개선할 수 있음(Contribute_기여하다)


출처: designless.net

  • init: Git 초기화
  • add, commit, push : 온라인 원격 저장소에 업로드
  • fork, clone: 협업자의 작업물을 나의 로컬에 다운로드 받는 과정
  • pull request: 상대 협업자에게 나의 작업 완성물을 취합해달라고 요청하는 과정
  • merge: 상대방의 작업물과 나의 작업물을 취합하는 과정

SSH (Secure Shell)

: 보안이 강화된 shell 접속

  • CLI 환경(터미널)에서 다른 pc에 접속하거나 요청할 때 사용하며, 비대칭키를 이용해 사용자 인증
$ ssh-keygen //ssh key 생성

$ cat ~/ .ssh/id_rsa.pub //공개키를 텅헤 CLI 사용자 인증 가능 

Git 환경설정

$ git config --global user.name "나의 사용자 이름"
$ git config --global user.email "내 이메일 주소"

$ git config --global core.editor nano

Git 기본 명령어

$ git init

$ git config --global init.defaultBranch 변경할_브랜치_이름
- git config --global init.defaultBranch main
$ git branch -m 변경할_브랜치_이름
- git branch -m main

$ git add .
$ git status
$ git commit -m "Commit message"
$ git restore .
$ git push origin main
$ git log 

$ git remote --v

$ git remote add origin 복사한_원격_저장소_URL

$ git clone 복사한_URL

Git Status

  • On branch main: 현재 브랜치는 main 브랜치 입니다.

  • No commit yet: 아직 커밋을 하지 않았습니다.

  • Untracked files: Git의 관리 하에 있는 파일이 가질 수 있는 상태 중 하나

  • (use “git add <file>…” to include in what will be committed): git add file_name 을 입력하면 commit될 것들에 해당 파일을 포함시킬 수 있다.

  • nothing added to commit but untracked files present (use "git add" to track): 아직 add된 파일이 없으며, Untracked 상태의 파일이 존재하니, git add 명령을 사용하세요.

  • Unmodified : 파일의 수정이 Git에 의해 감지되지 않은 상태

  • Modified : 파일의 수정이 Git에 의해 감지된 상태

  • Staged : 파일이 Staging area에 존재하는 상태

profile
Backend Developer
post-custom-banner

0개의 댓글