용어정리

  •  commit : 변경시점 단위
  • 원격 저장소(Remote Repository) : 서버에서 관리되며 여러사람 공유가능
     > github / gitlab / bitbucket
  • 로컬 저장소(Local Repository) : 내 PC파일에 저장되는 개인 전용 저장소
  • push : 업로드 (로컬 저장소 -> 원격 저장소)
  • pull : 다운로드, 내려받기 (원격 저장소 -> 로컬 저장소)
  • merge : 병합 ( 개발자A/B 오프라인 작업소스를 온라인기반으로 line기반 병합
    > 같은라인 수정했을 경우 merge(병합) 중단후 conflict(충돌) 에러 반환
  • conflict : 충돌 (같은라인 수정시 어떤게 올바른지 모르니까 컨플릭트 에러 반환)
    > 개발자 직접 확인후 둘다 살릴지 둘다 죽일지 결정

 

사용자 정보 설정

  • Git을 사용하기 위해 첫번쨰로 config에 이메일과 이름 등 계정정보 설정
  • Git은 커밋할때마다 정보사용. 한번 커밋후 정보변경 불가
  • 프로젝트마다 다른이메일 주소 사용하려면 -global옵션 빼고 명령 실행
$ git config --global user.name "Garden"
$ git config --global user.email garden@sample.com

 

 

git init

  • 초기화

git status

  • 작업 디렉토리(working directory)는 스테이징(staging area)의 상태를 확인하기 위해 사용
    > 작업디렉토리 : 아직 커밋할 준비가 안된 변경내용을 자유롭게 수정할 수 있는 공간
    > 스테이징 영역 : 커밋할 준비가 된 변경내용이 Git 저장소에 기록되기 전에 대기하는 장소
  • Changes to be committed : 스테이징 영역에 넘어가 있는 변경 내용을 보여줌.
  • Changes not staged for commit : 아직 워킹 디렉토리에 있는 변경 내용을 보여줌
  • Untracked files : 아직 워킹 디렉토리에 있는 아직 한번도 Git 저장소가 관리한 적이 없는 새로운 파일을 보여줌

 

git add

  • 스테이징 영역으로 이동
  • git add . (전체목록이 스테이징 영역으로이동)
  • git add 파일명 (해당 파일명이 스테이징영역으로 이동)

 

git commit 

  • 스테이징 영역에 있는 것만 하나의 커밋(변경기록) 처리됨
  • git commit : 커밋 수행
  • git commit -m "커밋 메시지" : 원하는 메시지로 커밋수행됨

git diff

  • commit과 파일의 변경사항 비교

git history

  • 커밋된 변경이력 전체 확인가능

 


 

Git Remote Repository

git 에서 repository 저장소를 생성한후,  로컬 저장소에있는걸 git으로 push하기

git remote add origin https://github.com/계정/경로.git
git remote -v
git branch -M main
git push -u origin main

 

 

git push origin master 

> origin/master : 원격저장소 master

> master : 로컬 master

 

 

 

 

git pull

 > 원격 저장소에 있는 파일 로컬로 가져오기

 

 

 

  1. git pull
  2. (code)
  3. git add
  4. git commit -m "message"
  5. git push

 


branch 브랜치

  •  독립적으로 작업을 진행하기 위한 개념
  •  각자 독립적인 작업 영역 안에서 마음대로 소스 수정가능
  •  분리된 작업 영역에서 변경된 내용은 원래버전과 비교해서 하나의 새로운 버전으로 생성가능
  •  필요에 의해 만들어지는 각각의 브랜치는 다른 브랜치 영향받지 않음. 여러작업 동시진행

 

생성과 동시에 체크아웃 

git checkout -t 원격저장소_브랜치명

git checkout -b 신규_로컬_브랜치명

 

병합(Merge)

git merge 병합할_브랜치명

git merge --no--ff 병합할_브랜치명

 

로컬 저장소 -> 원격저장소

local repository --> remote repository

git remote add origin {github repositrory url}

git push origin master

 

 

원격저장소 -> 로컬 저장소

remote repository --> local repository

git clone [github repository url]


<참고> https://adbrdev.notion.site/CH02-git-0a474d9d194545b5ad65f66a1adff09e

 

+ Recent posts