본문 바로가기

툴사용법

[Git] Github 자기서버에 원격저장소 만들기

원격저장소가될 서버에 적절한 경로 생성

 

. 로컬저장소에 git 초기화 local이라 붙이면, 현재 디렉토리에서 local 디렉토리가 지역저장소가됨.

2. 소스추가 및 add commit

 

리눅스에 git 설치

yum install git

 

y

git이 잘 설치되었는지 확인

 

1. git init --bare remote : 원격저장소 remote 생성

2. bare로 만들었기 때문에 .git 디렉토리 안에 있는 내용만 생성이 되었다.

 

1. ssh:// 라는 통신방법을 통해서 접속할 것이다.

> 가려진 부분에 사용자@아이피

> git remote add : 현재 로컬저장소와 연결을 추가할 origin 이름은 위 주소이다.

> 그리고 서버의 저장소는 /home/oper/git/remote 인데 끝에 /를 붙여야한다. /를 안붙이면 그 디렉토리이고, /를 붙이면 그 안에 있는 내용이라는 뜻.

2. git remote –v : 원격저장소와 연결된 것을 확인

1. git push를 해보면 일단 마스터 브랜치와 연결이 필요하다는 메시지.

2. 지역저장소의 마스터 브랜치와 원격저장소의 마스터 브랜치와 연결

3. 원격저장소의 비밀번호를 입력하면 저장이 되었다는 메시지

 

원격저장소에 커밋이 되어 있는 것을 확인할 수 있다.

> 원격저장소와 지역저장소가 동시에 파괴되지 않는 이상 백업본들이 날릴일이 없다.

> 구글드라이브처럼 각각의 컴퓨터에 동기화시키기 위해 사용한다.(아래 스샷)

 

집이 아닌 사무실에서 작업을 이어가고 싶다면

1. git clone 을 통해 소스코드를 그대로 가져올 수 있다. 복제되어 동기화된 것을 확인할 수 있다.

 

같은 컴퓨터에서 폴더만 다르지만 각각 집에있는 컴퓨터와 사무실에 있는 컴퓨터가 같은 원격저장소를 바라보고 있다고 생각하자.

git remote –v : 원격저장소 확인

 

* 좌측

1. 집에서 소스수정을 하고 로컬저장소에 커밋

2. 원격저장소에 push

* 우측

1. pull 땡겨오다. 집에서 작업한 내용을 땡겨와서 집에서의 소스와의 상태가 같게 된다.

** push를 하기전에 무조건 pull을 해야한다.

* 우측

1. 회사에서 소스수정작업을하고 push를 해놨는데

* 좌측

1. 깜빡하고 pull을 안하고 push를 하면 위와 같은 에러가 뜬다. Pull을 하라고 힌트를 준다.

> 로컬저장소와 원격저장소의 상태가 다르면 원격저장소의 소스를 가져와 병합을 하고 충돌을 병합하여 원격저장소로 올리라는 얘기.

 

git pull

 

원격저장소와 병합이 된면서 새로운 commit이 만들어 진다. wq

 

병합 커밋이 만들어짐. 4 home에서 작업한 것, 3은 원격저장소에서 작업한 것

 

충돌을 해결했으면 push를 해준다.

 

그래서 이런 병합과정을 거치지 않기 위해 회사에서는 무조건 pull을 먼저해야한다. 그럼 비로소 다시 소스가 동기화가 된다.