본문 바로가기

Dev

망분리 상태에서 Git History Merge

728x90

> git bundle create {묶을 파일이름_내경우_로컬브랜치명}.bundle --all

git 프로젝트 파일 내에서 위 명령어를 실행하면, 소스까지 다 묶인 bundle 파일이 생성된다.
(파일명 확장자를 꼭 붙이지 않아도 되는 듯하다)

 

 

 

> git init  #git 초기화가 안 된 빈 폴더일 경우

> git bundle unbundle {묶을 파일이름_내경우_로컬브랜치명}.bundle

> git pull {묶을 파일이름_내경우_로컬브랜치명}.bundle

 

이렇게 하면 소스가 없는 경우는 처음 master 브랜치에서 clone 한 것 처럼 소스와 이력이 풀린다.

(git clone {묶을 파일이름_내경우_로컬브랜치명}.bundle 도 사실 가능하기는 함)

 

 

 

한 쪽 방향으로만 가능한 것은 아니고, 양방향으로 파일을 이동하며 소스와 이력 Merge 가 가능하다.

인터넷망에서 개발하고 바로 확인 하기 편안한 웹 리소스는 인터넷망에서 변경하고,

개발서버에 반영하여 개발내용을 확인 해야 하는 폐쇄망에서는 서버쪽 소스를 변경한 뒤, 

양쪽 모두 Merge 한다.

폐쇄망에 Merge 할 때에는 Git 서버에서 Master에 Push 된 내용까지 Fetch 하여 적용하여 양쪽 모두 최신 상태로 관리할 수 있다.

같은 파일을 수정하지 않는 이상 충돌은 현재까지 거의 없었다.

같은 파일에 수정이 일어나 충돌하더라도, IntelliJ 같은 IDE 상에서 수동 Merge 할 수 있다.

 

필요한 것만 초보적으로 사용하고 있는데 옵션이 더 있는지, 있다면 어떤 기능을 하는지 알아봐도 좋을 것이다.

 

서버는 폐쇄망에 있는데, 소스는 인터넷망에 있어서

테스트 할 때마다 파일을 옮겨야 하는 지옥에서 벗어날 수 있게 해준 Git 천재 생유.

 

'Dev' 카테고리의 다른 글

스프링 스케쥴러 CRON 식  (0) 2019.12.11
인텔리제이 한글 깨짐 :: 같은 것을 다른 방법으로  (0) 2019.10.18
Map vs JsonPath vs Gson vs Jackson  (0) 2019.07.11
키워드  (0) 2019.05.28
Apache Server에서 TLS 설정 개념잡기  (0) 2019.03.29