(STM32) Keil uVision에서 Git 버전 관리 방법

이 팁은 다음의 내용을 안내 해드립니다.

  1. STM32 CubeMX과 KEIL uVision 개발환경에서 Git으로 버전 관리 시스템의 설정 방법을 알아봅니다.
  2. 컴파일과 디버깅시 불필요한 파일들이 Commit 되지 않도록 하는 방법을 알아봅니다.
  3. 신뢰할 수 있는 무료 온라인 Git 저장소를 제공해주는 곳을 알아봅니다.

또한 아직 버전 관리 시스템을 도입하지 않은 경우 아래의 필요성을 검토해볼 수 있습니다. ㅡ 참고

  1. 내가 작성한 코드를 Git 온라인 저장소에 안전하게 보관하여 로컬PC가 고장 나서 코드가 공중 분해되는 끔찍한 사고를 미연에 방지합니다.
  2. 개발 중 알 수 없는 문제가 발생하여 과거의 코드로 즉시 되돌리거나 참고하여 문제를 재빨리 해결하여 많은 시간을 절약합니다.
  3. 2명 이상의 개발자와 협업 하여 작업 효율을 높입니다.

uVision IDE 자체에도 Git 버전 관리 시스템이 있는데 개인적으로 나사가 몇 개 빠진기분이라(쑻) 그래서 IDE 외부에서 Source Tree란 프로그램으로 코드 변경사항을 관리해줍니다. 혹시나 이미 IDE 내 버전 관리 시스템에 만족하고 계시면 뒤로가기 버튼을 살포시 눌러주시고, 다른 버전 관리 시스템을 사용중이거나 더 좋은 방법이 있다면 댓글로 알려주시면 본 글에 반영할 수 있도록 하겠습니다.

준비물

  1. KEIL uVision 5 (MDK-ARM) – https://www.keil.com/download/product/ 여기서 MDK-ARM 을 적당히 다운로드하여 설치합니다. (이 팁을 보고 계신다면 이미 설치하셨을 것입니다.)
  2. Source Tree (Git GUI) – https://www.sourcetreeapp.com/ 여기가서 적당히 다운로드하여 설치합니다.
  3. GitHub나 BitBucket 저장소 생성

오픈소스를 위한 프로젝트라면 GitHub 에서 무료 계정 하나 만들어서 저장소 생성하시면 되고, 코드 공개 안 할 프로젝트는 GitHub 유료 결제를 하거나 5명 이하의 소규모 팀인 경우 BitBucket을 사용하면 무제한 Private 저장소 생성이 됩니다.

온라인 저장소 생성과 복제

저는 BitBucket을 수년 전 부터 쓰고 있었고 현재도 사용하는데 문제가 없어서 BitBucket 기준으로 안내해 드립니다. 우선 https://bitbucket.org 에서 계정을 만든 후 https://bitbucket.org/repo/create 에 가서 저장소를 적당히 만들면 Clone 하라고 링크를 하나 주는데, 이 링크를 Source Tree의 Clone 탭에 가서 프로젝트 폴더로 적당한 위치로 Clone합니다. 이때 로그인 창이 뜨면 지시에 따라 적절히 로그인합니다.

프로젝트 명이 그 영화가 생각난다면 기분탓입니다.

Clone이 완료되었습니다. 이제 Open in Exploere를 누른 후 보여지는 경로에 STM32 개발 환경을 만들 것입니다.

프로젝트 생성

STM32 CubeMX의 설정은 앞서 확인한 경로로 입력하고 적당히 설정 후 GENERATE CODE를 눌러서 프로젝트를 생성합니다.

STM32 CubeMX로 생성한 프로젝트 파일들을 확인 할 수 있습니다.

.gitignore 로 불필요한 파일 배제대

이때 Source Tree – Working Copy 에서 추가되거나 변경된 파일 리스트를 확인 할 수 있는데, 이것들을 Commit 하기 전에 우선 컴파일이나 디버깅 할 때 생성되는 임시 파일들과 불필요한 쓰레기들이 저장소에 올려지지 않도록 해야합니다. 따라서 아래의 코드를 Sublime Text 같은 코드 에디터로 작성하여 프로젝트 폴더에 .gitignore 파일명으로 저장합니다.

아래 규칙에 맞는 파일들은 Commit 대상에서 제외됩니다.

*.bak
*.tmp
.mxproject
MDK-ARM/*
!MDK-ARM/*.uvprojx
!MDK-ARM/*.s
!MDK-ARM/*.uvoptx

또는 파일을 다운로드하여 프로젝트 폴더에 넣습니다.

커밋과 푸시

Source Tree – Working Copy 화면에서 파일 변경 내역을 확인 할 수 있습니다. 변경 내역에 핵심만 입력하고 Commit 버튼을 눌러줍니다. 여기서는 프로젝트를 금방 막 생성했으니 Initial commit을 입력하고 Commit 합니다. 이후 Commit 내역에 문제가 없으면 Push 버튼을 눌러서 이때까지 본인의 PC에서만 저장된 변경 내역을 온라인 저장소(BitBucket)에 올립니다.

앞으로 코드를 작성할 때 코드 수정 사항이 모두 이 화면에서 표시되고 관리 할 수 있습니다.

사용 중인 인터넷 상태에 따라 시간이 다소 걸릴 수 있습니다.

Push 후 BitBucket 접속 후 저장소를 보면 Commit 내역이 정상적으로 올라간 것을 확인 할 수 있습니다. 여기까지 STM32 개발 환경에서 Git 세팅 방법에 대해 알아보았습니다. 이후 Git을 사용하여 버전을 관리하는 방법은 너무 나도 방대하기에 본 글에서 모두 설명할 수 없으므로 구글에 ‘sourcetree git 사용법‘ 등의 키워드로 검색하면 관련 자료를 확인 할 수 있습니다.

참고 되셨으면 좋겠습니다.

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.