Flutter와 Firebase로 로그인 프로젝트를 개발한 후, 이를 GitHub에 업로드하고 관리하는 과정은 협업과 배포의 핵심입니다. 이 포스팅에서는 GitHub 사용 방법을 초보자 관점에서 설명하며, 프로젝트를 처음부터 끝까지 GitHub와 연결하는 과정을 자세히 다룹니다.
1. GitHub란 무엇인가?
- GitHub는 Git을 기반으로 한 코드 저장소 플랫폼으로, 개발자들이 프로젝트를 효율적으로 관리하고 협업할 수 있도록 돕는 도구입니다.
- 장점:
- 버전 관리: 코드를 수정하거나 되돌릴 수 있음.
- 협업: 여러 개발자가 같은 프로젝트에 기여할 수 있음.
- 배포 지원: GitHub Pages, Actions 등을 활용해 애플리케이션을 배포 가능.
2. GitHub 기본 준비
- GitHub 계정 생성
- GitHub에 접속해 계정을 생성합니다.
- Git 설치
- 로컬 환경에서 Git을 설치해야 합니다.
- Git 다운로드 링크: Git 공식 사이트.
- 설치 후 터미널(또는 명령 프롬프트)에서 다음 명령어로 설치 여부 확인:git –version
3. Flutter 로그인 프로젝트를 GitHub에 업로드하기
1) 로컬 프로젝트 초기화
- Flutter 로그인 프로젝트 디렉토리로 이동한 후, Git 저장소를 초기화합니다:git init
2) .gitignore 파일 생성
- .gitignore 파일은 업로드하지 않을 파일들을 지정합니다.
- Flutter 프로젝트에서는 flutter.gitignore 템플릿을 사용하는 것이 일반적입니다. 주로 다음과 같은 파일이 제외됩니다:.dart_tool/ .packages ios/Pods/ build/ *.lock
3) GitHub 저장소 생성
- GitHub 웹사이트에서 새 저장소를 생성합니다.
- 프로젝트 이름과 설명을 추가한 후, 명령어를 복사합니다.
4) 원격 저장소 연결
- 복사한 명령어를 사용해 원격 저장소와 로컬 프로젝트를 연결합니다.git remote add origin https://github.com/your-username/your-repo.git
5) 변경 사항 커밋
- 로컬 프로젝트의 변경 사항을 스테이징하고 커밋합니다:git add . git commit -m “Initial commit”
6) 원격 저장소에 푸시
- 최종적으로 변경 사항을 GitHub에 업로드합니다:git branch -M main git push -u origin main
4. Flutter 프로젝트 배포
1) GitHub Pages를 사용한 배포
- GitHub Pages는 정적 웹사이트를 호스팅할 수 있는 서비스입니다.
- Flutter 웹 애플리케이션의 빌드 폴더를 배포하는 방법:
- Flutter 프로젝트에서 웹 지원을 활성화:flutter config –enable-web flutter create .
- 웹 앱을 빌드:flutter build web
- GitHub 저장소에서 gh-pages 브랜치로 푸시:git subtree push –prefix build/web origin gh-pages
2) Firebase Hosting을 사용한 배포
- Firebase CLI를 사용해 Flutter 애플리케이션을 Firebase Hosting에 배포:
- Firebase CLI 설치:npm install -g firebase-tools
- Firebase 초기화:firebase init hosting
- 배포:firebase deploy
5. 협업 및 유지보수
1) Git Branch 전략
- 팀 협업 시 효율적인 Git 관리:
- main: 안정적인 배포 버전.
- develop: 개발용 브랜치.
- feature/: 기능별 브랜치 (예: feature/login).
2) Pull Request로 코드 리뷰
- GitHub에서 Pull Request를 생성해 코드 변경 사항을 리뷰받습니다.
3) GitHub Actions로 CI/CD 구축
- GitHub Actions를 사용해 코드 푸시 시 자동으로 빌드 및 배포하도록 설정 가능합니다.
6. 문제 해결
1) Push 오류: ‘rejected’
- 해결: 강제로 푸시하거나 브랜치 확인 후 다시 시도:git push -f
2) Firebase Hosting 배포 실패
- 해결: Firebase CLI 로그인 확인:firebase login
3) 웹 빌드 후 UI 깨짐
- 해결: flutter build web 시 옵션 추가:flutter build web —release —web–renderer=html
이 포스팅은 GitHub를 처음 사용하는 초보자도 따라할 수 있도록 자세히 작성되었습니다. 로그인 프로젝트를 완성한 후 GitHub를 통해 협업과 배포를 경험하며, 효율적인 개발 관리를 배울 수 있길 바랍니다.

