Git

space's pace·2022년 6월 27일
0

프론트엔드

목록 보기
1/15

Git 이란?

분산 버전관리 시스템(Distributed Version Control Systems)으로, 컴퓨터 파일의 변경사항을 추적하고 여려명의 사용자들 간에 파일에 대한 작업을 조율하는데 사용된다.

참고 [https://git-scm.com/book/ko/v2]

여러명의 개발자가 하나의 소프트웨어 개발 프로젝트에 참여할 때 소스코드를 관리하는데 사용된다.

git의 장점

  • 인터넷이 연결되지 않은 곳에서도 개발 진행, 분산 버전관리이기 때문에 중앙 저장소가 삭제되어도 원상복구가 가능

  • 각각의 개발자가 Branch에서 개발한 뒤 merge를 통해 병렬 개발 가능

  • 팀 프로젝트가 아닌, 개인 프로젝트일지라도 git을 통해 버전관리를 하면 체계적인 개발이 가능해지고, 프로그램이나 패치를 배포하는 과정도 간단해진다. (pull을 통한 업데이트, patch파일 배포)



git 기본 용어

  • Repository 저장소 : 저장소는 히스토리, 태그, 소스의 가지치기 혹은 branch에 따라, 버전을 저장 작업자가 변경한 모든 히스토리를 확인 가능

  • Commit : 현재 변경된 작업 상태를 점검을 마치면 확정하고 저장소에 저장하는 작업

  • Head : 현재 작업중인 Branch를 가리킨다.

  • Branch : 가지 또는 분기점, 작업을 할 때에 현재 상태를 복사하여 Branch에서 작업을 한 후에 완전하다 싶을 때 merge한다.

  • Merge : 다른 Branch의 내용을 현재 Branch로 가져와 합치는 작업을 의미한다.

git 기본 명령어

<새로운 저장소 생성> $ git init .git 하위 디렉토리 생성
(폴더를 만든 후, 그 안에서 명령 실행 => 새로운 git저장소 생성)

<저장소 복제/다운로드(clone)> $ git clone <https:.. URL> 기존 소스 코드 다운로드/복제
$ git clone /로컬/저장소/경로 로컬 저장소 복제
$ git clone 사용자명@호스트:/원격/저장소/경로 원격 서버 저장소 복제

<추가 및 확정(commit)> $ git add <파일명>
$ git add * 커밋에 단일 파일의 변경 사항을 포함
(인덱스에 추가된 상태)
$ git add -A 커밋에 파일의 변경 사항을 한번에 모두 포함
$ git commit -m "커밋 메시지" 커밋 생성
(실제 변경사항 확정)
$ git status 파일 상태 확인
<가지(branch)치기 작업> $ git branch 브랜치 목록
$ git branch <브랜치이름> 새 브랜치 생성 (local로 만듦)
$ git checkout -b <브랜치이름> 브랜치 생성 & 이동
$ git checkout master master branch로 되돌아 옴
$ git branch -d <브랜치이름> 브랜치 삭제
$ git push origin <브랜치이름> 만든 브랜치를 원격 서버에 전송
$ git push -u < remote > <브랜치이름> 새 브랜치를 원격 저장소로 push
$ git pull < remote > <브랜치이름> 원격에 저장된 git 프로젝트의 현재 상태를 다운받고 + 현재 위치한 브랜치로 병합


<변경 사항 발행(push)> $ git push origin master 변경사항 원격 서버에 업로드
$ git push < remote > <브랜치이름> 커밋을 원격 서버에 업로드
$ git push -u < remote > <브랜치이름> 커밋을 원격 서버에 업로드
$ git remote add origin <등록된 원격 서버 주소> 클라우드 주소 등록 및 발행
(git에게 새로운 원격 서버 주소 알림)
$ git remote remove <등록된 클라우드 주소> 클라우드 주소 삭제

<갱신 및 병합(merge)> $ git pull 원격 저장소의 변경 내용이 현재 디렉토리에 가져와지고(fetch) 병합(merge)됨
$ git merge <다른 브랜치이름> 현재 브랜치에 다른 브랜치의 수정사항 병합
$ git add <파일명> 각 파일을 병합할 수 있음
$ git diff <브랜치이름><다른 브랜치이름> 변경 내용 merge 전에 바뀐 내용을 비교할 수 있음

<태그tag 작업> $ git log 현재 위치한 브랜치 커밋 내용 확인 및 식별자 부여됨
<로컬 변경사항 return 작업> $ git checkout -- <파일명> 로컬의 변경 사항을 변경 전으로 되돌림
$ git fetch origin 원격에 저장된 git프로젝트의 현 상태를 다운로드

profile
블로그 이사 준비중!

0개의 댓글