안녕하세요.

버전 관리하는 방법을 설명하기 전에 그동안 제가 개발을 해왔던 내용 중 백업과 버전 관리 부분을 어떻게 해왔는지 공유해 보겠습니다.

1. 백업, 버전관리를 전혀 하지 않았음

1-1. 1대의 컴퓨터에서 작업

처음 개발을 할떄는 버전 관리를 전혀 하지 않았습니다. 처음에는 로컬에 작업 공간을 만들어서 개발을 진행했습니다. 저는 대부분 혼자서 개발을 해 왔고 한대의 컴퓨터에서만 작업할 때에는 별 문제점이 없었습니다.

1-2. 여러대 컴퓨터에서 작업할 때 - 외장 스토리지 사용

여러 컴퓨터에서 왔다 갔다 하면서 작업하기 위해서 USB나 외장하드를 이용해서 작업하곤 했었죠.

USB에서 직접 작업할 경우 속도도 문제이지만
(센디스크의 경우?) USB가 잠겨버려서 포맷도 안 되는 경우를 몇 번 경험했습니다.

외장 하드의 경우 휴대성이 약간 떨어지긴 하지만 직접 작업하는 데는 지장이 없었습니다.
잠겨버리는 경우도 아직 경험하진 못했고요.
선과 외장하드를 케이스에 넣고 빼기가 생각보다 귀찮습니다. 가끔 작업해야 되는데 두고 온 적도 종종 있습니다.

1-3. 나스(NAS) 구매

나스를 구매한 뒤로 원격에서도 해당 공간에 바로 접속해서 작업도 해봤습니다. (제가 구매한 나스는 시놀로지사의 DS218에 4TB HDD를 장착했습니다.) 내부 네트워크에서는 속도가 빨라서 문제점을 찾지 못했는데 원격으로 할 때는 인터넷 상태에 따라서 속도가 많이 느려지는 단점이 있습니다.


1의 방법들은 각각의 휴대/원격 공간에서 직접 작업하는 방법으로 작업공간은 어떻게든 하나만 존재합니다. 이제부터 작업공간이 2개 이상 생겨서 백업을 한다고 볼 수 있습니다.

2. 백업, 버전관리 초보 - 동기화, 버전 별 압축하기

2-1. 동기화 프로그램 - 백업은 되지만 버전 관리는 안됨

로컬에서 작업을 한 뒤에 동기화 프로그램으로 동기화 해서 최신 버전을 유지하는 방법도 사용해 봤습니다.
무료 프로그램 중에서 FreeFileSync가 있는데 유용하게 잘 썼습니다.

 

FreeFileSync

Download the latest FreeFileSync 10.12. FreeFileSync is a free open source data backup software that helps you synchronize files and folders on Windows, Linux and macOS.

freefilesync.org

하지만 여러 프로젝트를 진행하게 되면 스캔하고 동기화 할 때마다 적지 않은 시간이 소요됩니다. 그리고 항상 최신 버전으로 백업하기 때문에 버전 관리를 수동으로 해줘야 합니다.

2-2. 백업할 때마다 압축해서 날짜 적어놓기

백업 저장소에도 생각날 때 마다 압축파일을 만들어 날짜를 포함해서 다른 공간에 차곡차곡 쌓아두었습니다.

압축할 때마다 전체 프로젝트를 저장하게 되면 용량이 쓸데없이 많아집니다. 압축할 때마다 새로 고친 파일만 저장하게 되면 나중에 해당 버전을 쓸 때 추가로 작업할 내용이 많아 귀찮아집니다.


3. 드디어 버전관리도 시작? GIT 입문! 두둥

그러다가 최극 작업물부터 git을 활용해서 버전을 관리하기 시작했습니다.
아직 협업까지는 진행해 보지 않았지만 위에서 발생하는 문제점들을 잘 해결해 줬습니다.
아직 적응을 못해서 가끔 리모트 저장소에 push를 안 해놓고 가서 다른 장소에서 작업을 못 한 적이 있긴 하지만
작업 전 후 버전관리에 습관을 들인다면 이런 실수도 줄어들겠죠?

git도 관련 서비스가 엄청 많습니다. 저는 우선 git, git-server, github, TortoiseGit 정도 사용해 봤습니다.

 

Git

 

git-scm.com

 

Build software better, together

GitHub is where people build software. More than 36 million people use GitHub to discover, fork, and contribute to over 100 million projects.

github.com

 

TortoiseGit – Windows Shell Interface to Git

Support Manuals, FAQ, bug reporting, mailing list, and more…

tortoisegit.org

다음번에는 제가 git으로 버전 관리하는 방법을 알려드리겠습니다.

감사합니다.

+ Recent posts