본문 바로가기

CiCd-DevOps/GitHub

Git introduce1. - 개인 공부 요약 1

반응형
SMALL

Git을 이용하여 버전관리 하는 방법.

Git은 소스코드를 효과적으로 관리하기위해 개발된 분산형 버전관리 시스템이다. 본질은 리눅스의 소스코드 관리를 목적으로 개발되었다.

Git에서 소스코드가 변경된이력을 쉽게 확인할 수 있고, 특정 시점에 저장된 버전과 비교하거나 특정 시점으로 돌아갈 수 있다.

파일이 상대방과 내용이 충돌하게 된다면, 서버에 업로드시 경고메시지 역시 발생하게 된다. 

Git Repository는 파일이나 폴더를 저장해 두는 장소이다.

Git 저장소가 제공하는 좋은 점중의 하나는 파일이 변경이력 별로 구분되어 저장된다는 점이다.

1. 동일한 파일이라도 실제 내용 일부가 다르면 다른 파일로 인식하기 때문에 파일을 변경 사항 별로 구분하여 저장할 수 있다.

Git은 원격 저장소와 로컬저장소 두종류의 저장소를 제공한다.

- 원격 저장소 (Remote Repository) : 파일이 원격 저장소 전용 서버에서 관리되며 여러 사람이 공유하기 위한 저장소이다.

- 로컬 저장소 ( Local Repository) : Pc에 존재하는 파일이 저장되는 개인 전용 저장소이다. 

평소는 로컬 저장소에 작업하며 공개시 원격저장소에 업로드를 하며 진행하게 된다. 

원격 저장소에서 다른 사람이 작업한 파일을 로컬로 가져올 수 도있다 .

local1 -> push -> local 2 -> pull -> local3

local1 <- pull < local2 <- push <- local3. 

 

2. 저장소 만드는 방법 . 

2.1 저장소를 새로만들거나.

2.2 Remote Repository를 Local로 복사할 수 있다. 

 

commit - 변경기록 하기 . 

파일 및 폴더의 추가 변경 사항을 저장소에 기록하기 위해 커밋이란 버튼을 사용하게 된다 . 

커밋은 이전 커밋 상태부터 현재 상태까지의 변경이력이 기록된 커밋이 만들어지며 시간순으로 저장되게 된다. 

거슬러 올라가게 된다면 과거 변경 이력과 내용을 찾아볼 수 있다.

커밋은 !!! 이력을 남길 수 있는 중요한 작업이므로 커밋을 할때는 커밋메세지를 필수로 입력해야 한다. 

메시지가 없으면 커밋이 실행되지 않는다. 

 

작업트리,

깃은 폴더를 작업트리라고 부르며 커밋을 실행하기 전의 저장소와 작업 트리 사이의 존재하는 공간을 인덱스라고 칭한다.

Repository <-commit <- index <-add<- Work Tree

1. 깃의 커밋은 작업트리에 있는 변경내용을 저장소에 기록하는것이 아닌 해당 사이 공간인 인덱스에 파일 상태를 기록하게 된다.

저장소에 변경사항을 기록하기 위해서는 , 기록하고자 하는 모든 변경사항들이 인덱스에 존재하게 된다.

그러므로 저장소에 변경사항을 기록하기 위하여 기록하고자하는 모든 변경사항들이 인덱스에 존재해야한다. 

 

Repository Shared.

1. Remote Repository Push

원격저장소를 활용하여 로컬 저장소의 변경이력을 공유하는 방법.

push, 나의 로컬에서 변경된 이력을 원격저장소에 공유하기 위해서 로컬 저장소의 변경이력을 원격저장소에 업로드 해야한다.

웹상의 원격 저장소로 변경된 파일을 업로드 하는것을 Git push라고 한다.

push를 실행하면 원격 저장소에서 변경된 이력이 업로드되며 원격 저장소와 로컬 저장소가 동일한 상태로 변경된다. 

 

2. Remote Repository Clone

변경이력이 적용된 원격저장소가 있다면 웹에서 통으로 복사하여 로컬에 직접 작업할 환경을 구성할 수 있다.

복제는 원격 저장소의 내용을 통째로 다운로드 하는것 을 말한다. 복제한 저장소를 다른 로컬 저장소로 사용도 할 수 있다. 

3. Remote Repository Pulling

원격저장소를 공유하여 여러 사람이 함께 작업을 하면 모두 동일한 저장소에 푸쉬하게 된다.

다른 사람이 원격 저장소에 올려놓은 변경내용을 내 로컬에 적용할 필요가 존재한다. 

원격저장소에서 로컬로 업데이트하고자한다면 pull명령을 실행해야한다. 

pull 명령을 실행하면 원격에서 최신의 변경이력을 다운로드하여 로컬에 적용을 할 수 있다. 

**이전 페이지에서 복제한 저장소와 폴더에 있는 파일을 열어 추가하여 커밋한다.

origin/master  : 원격 저장소 origin 브랜치인 master이다.

origin.HEAD origin을 복제하며 다운로드되는 커밋의 위치를 나타낸다.

일반적으로 origin/master와 동일한 위치를 가리킨다.

4. merge

1. repo의 버전이 최신이아니라면 Pull 명령을 통하여 업데이트 이후 커밋해야한다. 

 

반응형
LIST