chae._.chae

세미나 : 협업을 위한 Git & Github 이해하기 본문

프로그래밍

세미나 : 협업을 위한 Git & Github 이해하기

walbe0528 2022. 3. 25. 19:56
728x90
반응형

세미나 1차 : 협업을 위한 Git&Github 이해하기

 

1. 버전관리 시스템 Git 

  • 소스코드 변경 이력 저장
  • 충돌 시 경고메시지 발생
  • 백업용 파일 복사본을 만들지 않아도 됨

Github : Git을 기반으로 한 소스코드 호스팅과 협업기능 GUI을 지원하는 웹플랫폼이다. 

 

- git init : 초기화 명령어. git이 파일 작업 내용을 추적할 수 있게 해준다.

파일 안에 .git 이름의 폴더가 생성된다. 

 

- git status : 현재 작업 상태 확인

- master란 : git 초기화(init)시 생기는 기본적 브랜치이다. 

- branch란 : 독립적인 작업공간으로, 여러 작업이 동시에 가능하다. (이후 각각의 브랜치들을 merge할 수 있다)

 

- git commit이란 : 변경 사항 이력을 기록한 것을 말한다. (시간순으로 저장된다)

track을 하기 위해서는 add를 해줘야 한다.

  • tracked : git에 의해 파일이력이 추적되고 있는 상태. 
  • untracked : 추적되고 있지 않은 상태. git add X

tracked에는 아래와 같이 세 가지의 상태가 존재한다. 

 

  1. Staged : 파일 수정 후 in staging area
  2. Unmodified : 변화 X
  3. Modified : 변화 O

 

2. 파일 위치

  • Working Directory : 작업 영역. 
  • Repository : git내에 변경이력을 저장한다.  + Local - 개인 저장소/ Remote : 원격 저장소
  • Index : Staging Area로, 작업영역 ~ 저장소 정보 저장 사이의(전의) 준비영역을 뜻한다.  + git add : 작업 영역 -> 인덱스, git commit : 인덱스 -> 레포지토리
  • Stash : 별개의 임시 영역으로, 임시 작업사항을 저장한다. 

정리

git add 명령어를 통해 Working directory -> Index(staging area)

git commit 명령어를 통해 Index(staging area) -> repository

 

 

3. 명령어

  • git index(staging area에 올린) 파일 삭제 명령어
$ git rm -cached 파일명

 

  • git commit
$ git commit -m "커밋 메시지" : 메시지 옵션
$ git commit -a : add하면서 commit 동시 적용
$ git commit -am "커밋 메시지" : add와 message옵션이 합쳐진 것
$ git commit --amend : 최근 커밋 메시지 수정하여 커밋

 

  •  git log : commit한 history명령어 보기
  • git resert HEAD^ : 가장 최근에 커밋한거 삭제하기
  • git diff : 작업한 파일 또는 브랜치들을 서로 비교(Working dir/repo)

 

git push (local-> remote) 

git push "원격 저장소 이름" "브랜치명"

 

git fetch : Remote commit -> local

git merge : 다른 브랜치를 현재 checkout된 브랜치에 병합

 

- fork : 다른 User의 원격 저장소를 내 원격 저장소에 복제

- clone : 원격 저장소를 로컬 저장소에 복제

- pull request : 원격 저장소간의 병합 요청 -> merge해서 발생하는 파일의 손상을 막기 위함이다. 

 

pull request의 flow

 

 

  • remote : 원본 프로젝트 저장소를 원격 저장소로 추가(fork해서 가져왔을 때)
git remote add origin
# remote -> local
$ git pull remote branch

 

  • checkout : 브랜치 변경 시 git checkout [브랜치명]이고,

-b옵션 : 브랜치의 생성과 동시에 변경을 한다. 

-d옵션 : 브랜치 삭제하기

$ git checkout -b newbranch

 

  • git branch : 브랜치 모두 보기(초록색으로 표시된게 현 브랜치)

 

  • push 진행 시에는 branch의 이름을 명시해줘야 한다.
  • develop(브랜치명)의 내용을 origin으로 가져온다. 
# develop 브랜치의 수정 내역을 origin 으로 푸시한다.
$ git push origin develop
728x90

'프로그래밍' 카테고리의 다른 글

HTTP 메서드  (0) 2022.02.06
HTTP 기본  (0) 2022.02.05
파이썬에서 리스트 중복 제거하기  (0) 2022.02.03
깃허브란 ?  (0) 2022.02.01
스택과 힙 영역  (0) 2022.01.15