개발관련/정보

임베디드 개발자/장비 관련 개발자들은 왜 Git을 안 쓰는 걸까? (Git 안 쓰고 다른 형상관리 시스템 쓰는 이유)

고통받는다 2023. 7. 7. 10:54

이전에 형상관리 시스템 중 하나인 Git에 대해 소개했던 적이 있습니다.

이존 CVS나 CVN에 비해 사용하고 있는 개발자들이 매우 많고 장소에 구애받지 않기 때문에 정말 좋은 형상관리 시스템이라고 말했습니다.

하지만 개발을 하다 보면 대부분의 임베디드 진영에서는 Git을 잘 사용하지 않는 것을 흔하게 볼 수 있습니다.

Git 좋은데 왜 안쓰냐고오....

다른 개발자들이 Git 좋다고 Git 사용하라고 추천을 해도 몇 번 쓰다가 다시 다른 형상관리 시스템으로 돌아가는 경우도 매우 많습니다.

그렇다면 왜 임베디드 진영에서는 Git을 사용하지 않는 걸까요?

 

Git은 인터넷이 돼야 사용할 수 있다.

 

일반적인 웹, 백엔드, 모바일 개발자들은 인터넷이 상시 연결 중인 상태에서 작업을 진행하죠?

하지만 임베디드 개발자분들은 아닙니다.

임베디드 진영 특성상 인터넷이 되지 않는 환경에서 작업을 해야 하는 경우가 매우 많습니다.

이게 무슨소린가? 싶기도 하지만 임베디드는 거의 대부분이 전장 쪽 혹은 기계설비 쪽 개발입니다.

즉 개발이 끝나고 설비 설치를 위해 공장으로 가서 테스트를 진행하거나 자체 보안 때문에 보안 서약서를 작성하고 해당 기업으로 파견을 가서 작업을 해야 하는 경우가 매우 많습니다.

공장 자체나 보안서약서를 작성하는 기업에서 인터넷 환경이 자유로울 리가 없겠죠?

때문에 인터넷이 되어야 한다는 제약을 가진 Git을 사용하지 않는 겁니다.

그럼 이분들은 어떻게 소스 관리를 하느냐?

저희 대표님이 하는 걸 구경했는데.... 연도별, 프로젝트별 폴더를 분류하고 소스를 관리하고 계시더군요.

그걸 다시 회사 서버에 올리는 식으로 2중으로 처리하신 후 필요하다면 USB에 해당 소스파일을 담아서 출장을 다녀오시곤 했습니다.

다른 기업들 임베디드 개발자분들은 어떻게 하느냐 물어보니 SVN을 많이들 사용한다고 답변해 주시더라고요..

이유는 바로 아래쪽에 기술하도록 하겠습니다.​​

특정 툴들은 Git과 호환되지 않는다.

이건 저도 전혀 몰랐던 사실인데...

SVN을 사용하고 있는 이유가 SVN은 임베디드의 툴들이 어지간하면 다 호환되는 장점을 가지고 있어서 SVN을 사용하고 Git은 임베디드에서 많이 쓰는 특정 툴들만 호환되게 설정해놨기 때문에 Git을 사용하지 않는다라고 말씀해 주셨습니다.

즉 호환성의 문제 때문에 Git을 사용할 수 없는 상황이 많이 발생한다는 것입니다.

이런 점 때문에 그냥 호환되는지 검증을 마치고 개발을 하느리 이미 이전부터 쓰고 있었고 어지간한 툴 다 호환되는 SVN을 쓰겠다는 결론이 나올 수밖에 없다고 하시더군요..