Git 이란? 

분산 환경에서 동시에 여러개의 브랜치 작업을 수행할 수 있도록 돕는 버전 관리 시스템.

Git 저장소를 공유하는 사이트인 GitHub를 통해 전세계 수많은 데이터를 공유할 수 있다.

 

로컬저장소

실제 존재하는 파일(물리적인 영역)

 

branch(브랜치)
로컬저장소에서 나만이 사용하는 고유의 작업영역(논리적인 영역)

 

Git을 이용하면 한 파일에 대하여 서로 다른 브랜치에서 독립적으로 작업할 수 있다 


Git 설치후 Git Bash에서 작업

-설치 시 환경설정에서 vim편집기 체크

 

사용자설정

git config --global user.name "이름"

git config --global user.email "이메일"

 


로컬저장소에 파일 생성하여 commit 하기

pwd : 현재위치 확인

cd : 디렉토리 이동

mkdir : 디렉토리 생성

 

git init: 로컬저장소 생성

(로컬저장소: 나만이 저장할 수 있는 폴더)

git init 명령어를 실행하면

.git폴더가 생성된다

 

git init: 로컬 저장소를 생성하면서 브랜치를 하나 생성시켜준다.

 

브랜치: 공통으로 사용되는 파일을 각자의 영역에서 아무런 충돌없이 사용할 수있도록 해주는 영역

현재 저장소에서 작업중인 브랜치가 master 라는 의미로 괄호안에 표시된다

C:\imsi 위치에 로컬 저장소를 생성한 후, test.txt 파일을 생성한다

 

test.txt 파일 생성

vim test.txt
a,i,o -> insert모드
내용입력
esc
:wq 저장후 편집기 종료
cat test.txt 내용확인

 

git status : 지금까지 작업한 내용 확인

- 새로 생성한 test.txt파일을 추적하지 못하고 있으므로 git add 명령어를 사용해야한다고 알려준다

- commit을 하기 전 add 명령어가 먼저 실행되어야 한다

 

git add 명령어를 실행하면, CRLF문제가 발생했다고 경고한다

CR: 현재의 위치에서 다음줄로 개행할때 커서가 맨앞에 위치

LF: 현재의 위치는 변하지 않은 상태에서 커서만 위로 이동

->파일을 저장할때 리눅스 운영체제에 맞게 저장하지 않아 발생한 에러  

 

CRLF문제 해결 방법

git config --global core.autocrlf true 

리눅스에 맞게 자동 줄바꿈

-> branch가 바뀔때마다 해야한다

 

commit 명령어를 실행한후 첫번째 줄에 커밋메세지 작성한다 

(커밋 메세지는 반드시 작성한다)

 

혹은 git commit -m "커밋 메세지" : 편집기에 들어가지 않고 커밋하면서 커밋메세지 작성

(커밋메세지에 쌍따옴표를 사용할 수 없다)

 

변동 사항을 모두 commit 하였음을 알 수 있다

 


새로운 브랜치(hotfix)를 생성하여 기존 브랜치(master)에서 작업하던 파일을 수정한 후, master 브랜치에서 확인 및 병합 

git branch : 브랜치 목록 확인(현재 작업중인 브랜치에 *붙음) 

git branch hotfix : hotfix브랜치 생성

git checkout hotfix : hotfix브랜치로 이동

 

-앞에서 작성한 test.txt파일을 이어 작업(hotfix branch에서 작업)

vim test.txt
-print("Tell your world"); 추가

git commit -a 
커밋메세지 작성

 

hotfix에서 수정 후 commit, master branch에서 파일 확인했을때

파일이 수정되지 않은 것을 확인할 수 있다

-> 하나의 공통 파일을 서로 다른 작업영역에서 작업이 가능하다(독립적으로)

-> 즉 hotfix에서 공통 파일을 수정해도 master에서 수정되는건 아니다

 

git merge hotfix : hotfix 브랜치와 병합

 

병합 후에 파일이 수정된것을 확인할 수 있다

 

 

exit : 종료 


- 파일을 새로 생성했을때와 기존 파일을 수정했을때, commit 명령어의 차이점

파일 분류   커밋 명령어 예시
기존에 있던 파일 수정  git add > git commit
 git commit -a
새로 파일 생성  git add > git commit

 

+ Recent posts