Dropbox와 Github을 이용한 개발환경 구축

Git을 이용하여 프로젝트를 진행할때 코드의 동기화를 위해서는 원격 Repository에 commit/push 하는 과정이 필요하다. Git의 commit은 코드의 의미있는 변경이력을 기록하는 용도이고, 원격 Repository(Github)에 Push하는 것은 commit 내역을 다른 컴퓨터에서도 사용할 수 있도록 동기화하는 작업이다. 따라서 작업이 완료되지 않는 코드의 변경내역을 동기화하기 위해 Git commit/push를 이용하는 것은 원래 용도에 맞는 사용이라 볼 수 없다. Dropbox를 이용하면 이런 문제를 해결할 수 있다. 즉 Dropbox를 이용하면 코드 동기화가 자동으로 이루어지므로 코드 동기화를 위해 의미없는 commit/push을 생략하고 필요한 시점에 코드를 commit/push 할 수 있다.

  1. Dropbox 동기화 끄기 (불필요한 동기화 작업을 막기 위한 사전작업)
  2. Dropbox 폴더 하위에 프로젝트 생성 또는 Git clone
  3. 프로젝트 내부의 node_modules 폴더가 있다면 삭제
  4. 로컬 환경의 임의의 폴더(Dropbox 폴더 외부)에 [프로젝트명/node_modules] 폴더 생성
  5. 프로젝트 내부에서 4에서 생성한 node_modules 폴더로 link 걸기 $ ln -s ~/Docuement/dev_npm/프로젝트명/node_moduels
  6. yarn install (또는 npm install)
  7. Dropbox 동기화 켜기

Dropbox 폴더 하위에 프로젝트를 생성하는 것 만으로도 원하는 효과를 모두 얻을 수 있지만 프로젝트에서 많은 공간을 차지하는 node_modules 폴더까지 Dropbox의 동기화에 포함될 경우 동기화 작업에 많은 리소스가 소비된다. 심볼링 링크 기능을 이용하여 node_modules 폴더를 관리하면 동기화에서는 제외되고 각각의 개발환경에서는 정상적으로 프로젝트를 운영할 수 있다.

참고