깃허브에서 새로운 Repository 만들기
연결하기 전 깃허브에서 새로운 Repository를 먼저 만듭니다.
깃허브 토큰 만들기
깃허브에서 토큰을 만들어야 합니다.
나중에 로그인 비밀번호로 사용되게 됩니다.
본인 깃허브 우측 상단 프로필 선택 후
"settings"
좌측 하단
"Developer Settings"
"Tokens (classic)"
"Ganerate new token(classic)"
Scopes 정리 표
STM32 개인 프로젝트에 적합한 "Classic Token Scopes"를 정리한 표입니다.
Scopes | 설명 | 용도 | 추천 | 주의점 |
repo | Private 및 Public repository 전체 접근 (코드, 이슈, 풀 리퀘스트 등) |
Private repository에 코드 푸시/풀, 이슈 관리 |
Private repository 사용 시 | 모든 repository 접근, 유출 시 위험 |
public_repo | Public repository 읽기/쓰기 | Public repository에 코드 푸시/풀 (오픈소스) |
오픈소스 프로젝트 | Public repository만 보안 위험 낮음 |
workflow | GitHub Actions 워크플로우 수정/실행 | STM32 코드 빌드 테스트 파이프라인 실행 |
CI/CD 파이프라인 사용 시 | 워크플로우 수정 권한, 신중히 사용 |
write:packages | GitHub Package Registry에 패키지 업로드 |
STM32 펌웨어 라이브러리 업로드 |
패키지 배포 시 | 업로드 전용 |
read:packages | GitHub Package Registry에서 패키지 다운로드 |
의존성 라이브러리 펌웨어 다운로드 |
패키지 사용 시 | 읽기 전용, 안전 |
delete:packages | GitHub Package Registry에서 패키지 삭제 |
불필요한 펌웨어 삭제 | 패키지 정리 시 | 삭제 권한 신중히 사용 |
gist | Gist 생성/수정 | STM32 코드 스니펫 공유 | Gist로 코드 공유 시 | Gist 관련 작업에만 필요 |
notifications | GitHub 알림 읽기/관리 | repository 알림 관리 | 알림 자동화 | 알림 관리에만 필요 |
설정 후 "Generate token" 클릭
주의사항
토큰 설정 후 토큰은 한 번만 표시되며 나중에 복구할 수 없습니다.
무조건 안전한 곳에 저장하시길 바랍니다.
STM32 CubeIDE EGit 설치
먼저 STM32 CubeIDE에 EGit 플러그인을 설치해야 합니다.
"HELP" 메뉴에서 "Eclipse Marketplace"를 열고
마켓플레이스에서 EGit을 검색하여 설치합니다.
Clone a Git Repository
설치가 완료되면 STM32 CubeIDE를 다시 시작합니다.
다시 "Window"창에서 "Show View" - "Other"창을 열어줍니다.
"Clone a Git repository"를 열어줍니다.
앞서 생성한 Github Repository url을 "Clone Git repository" 창에 붙여 넣습니다.
"Authentication" 필드에 Github 로그인 정보를 입력합니다.
"Password" 필드에 앞서 만들었던 토큰을 입력합니다.
"Next" 버튼을 누르고 원하는 설정 후 "Finish"를 누르면 됩니다.
드디어 Github Repository를 STM32 CubeIDE와 연결했습니다.
GitHub에 프로젝트를 커밋할 준비가 거의 다 되었습니다.
먼저 커밋하려는 프로젝트를 우클릭합니다.
"Team" - "Share Project"를 선택합니다.
방금 만든 Repository를 선택합니다.
"Finish"를 클릭하여 저장소를 프로젝트에 연결합니다.
여기까지 90% 이상 완료됐습니다
ignore 파일 만들기
커밋을 하기 전 가장 중요한 ignore 파일을 만들고 적용해야 합니다.
ignore 파일을 적용하지 않고 커밋을 해버리면
모든 파일이 잡히기 때문에 커밋하기 전
ignore파일을 만들고 적용 후 커밋 하시길 바랍니다.
Git을 먼저 설치 바랍니다.
Git Bash 실행 후
cd /c/Users/프로젝트 폴더 경로
예시
cd /c/Users/user/Test/STM32F411re/project_test
pwd
출력: /c/Users/user/Test/STM32F411re/project_test
git init
touch .gitignore
nano .gitignore
# STM32CubeIDE specific files
/Debug/
/Release/
*.launch
*.map
*.o
*.d
*.elf
*.hex
*.bin
*.lst
*.srec
*.su
*.suo
*.user
*.settings/
# Eclipse specific files
.project
.cproject
.metadata/
# Other temporary or generated files
*.bak
*.tmp
*.swp
*~
# macOS
.DS_Store
# Windows
Thumbs.db
git add .gitignore
git status
줄 바꿈 설정
선택사항)
git config --global core.autocrlf true
- 커밋 시: 파일을 LF로 저장.
- 체크아웃 시: Windows에서 CRLF로 변환.
git config --global core.autocrlf
Commit, Push
프로젝트를 저장소에 커밋
커밋하려는 프로젝트를 우클릭합니다.
"Team" - "Commit"를 선택합니다.
그러면 Git Staging 창이 열립니다.
"Unstaged Changes"에서 "+" 버튼을 두 번 누르거나
"Unstaged Changes" 필드에서 "Staged Changes" 필드로 파일을 드래그하여 이동할 수 있습니다.
이제 커밋 메시지를 입력합니다.
"Commit and push" 버튼을 눌러주세요.
Github를 확인하면 푸시한 파일을 찾을 수 있을 것입니다.
GitHub에서 변경 사항을 가져오려면 "Team" 메뉴로 이동하여 " Pull"를 선택하면
GitHub의 변경 사항이 다운로드되어 로컬 프로젝트와 병합됩니다.