기존 프로젝트를 준비하고 GitHub에 업로드하려면 어떻게 해야 할까요?
이 단원에서는 프로젝트를 GitHub에 업로드할 때 고려해야 하는 사항을 설명합니다.
GitHub에 업로드하는 이유는 무엇일까요?
GitHub의 장점을 찬양하는 문헌들이 많이 있지만, 이 모듈의 범위를 넘어서 GitHub에 가입하도록 설득할 수는 없습니다. 그러나 이 모듈에서는 업로드를 계획할 때 고려해야 하는 주제 컨텍스트 내에서 몇 가지 주요 이점을 요약합니다.
버전 제어
GitHub는 아마도 최고의 버전 제어 시스템인 Git을 독점으로 사용합니다. 하지만 Git은 놀라울 정도로 정교하며 팀이 경험해보지 못한 복잡한 코드 작업 관련 시나리오를 만들 수도 있습니다. 분기와 끌어오기 요청은 Git를 사용하는 개발자가 일상적으로 사용하는 필수 요소이며, 따라서 GitHub를 성공적으로 사용하려면 두 요소를 언제 어떻게 사용해야 하는지를 알아야 합니다. 순조롭게 시작하려면 팀은 먼저 GitHub 흐름에 익숙해져야 합니다.
클라우드에 코드 유지
많은 프로젝트 코드는 아직도 개발자 컴퓨터에만 저장됩니다. GitHub에 업로드하면 팀 멤버가 어디서나 쉽게 액세스할 수 있는 GitHub의 클라우드 플랫폼으로 코드를 옮기게 됩니다. 이렇게 하면 버전 제어에서 유지하는 파일 및 데이터 유형에 대한 팀의 정책을 검토할 수 있습니다. GitHub에 커밋하는 모든 항목이 잠재적으로 손상될 수 있다고 가정하는 것이 가장 좋습니다. 따라서 API 키, 암호 또는 유사한 정보를 포함하는 다른 파일과 같은 중요한 데이터를 포함하지 않아야 합니다.
참고 항목
GitHub는 퍼블릭 및 프라이빗 리포지토리를 모두 제공하며 리포지토리의 다양한 부분에 대한 세분화된 액세스 제어도 제공합니다. 이렇게 하면 프로젝트를 볼 수 있는 사용자 및 특정 사용자가 수행할 수 있는 작업을 제어할 수 있습니다.
협업
GitHub는 문제, 끌어오기 요청 및 코드 검토 같은 기능을 이용해 팀 협업을 완벽하게 지원합니다. 하지만 GitHub 흐름은 팀이 익숙하게 느끼는 현재 관행과 다를 수 있습니다. 팀이 GitHub에 적응하는 방법과 기존 프로세스를 유지해야 하는지 여부를 고려하는 것이 좋습니다.
프로젝트가 외부 참가자를 허용하는 오픈 소스 프로젝트라면 GitHub는 이 이점을 극대화하는 최고의 방법입니다.
GitHub에 업로드
플랜 고려 사항
GitHub에 업로드하기 전에 고려해야 하는 가장 중요한 사항은 원본의 현재 상태 이외 정보의 유지 여부입니다. 예를 들어 수정하려는 버그를 스프레드시트 또는 프로젝트 관리 소프트웨어를 사용하여 추적할 수 있습니다. 이러한 항목의 마이그레이션 지원 여부는 플랫폼마다 다르며 대부분의 경우 커뮤니티 프로젝트에서 사용할 수 있습니다. 이 모듈에서는 해당 형식의 데이터 마이그레이션을 다루지 않습니다.
프로젝트에 보관 중인 이진 파일 처리
모범 사례는 GitHub 리포지토리를 프로젝트 빌드에 필요한 파일에 제한하는 것입니다. 빌드 아티팩트 같은 대형 이진 파일은 커밋해선 안 됩니다. 스프레드시트 및 프레젠테이션 같은 이진 파일은 이러한 파일을 적절하게 제공하고 버전을 지정하는 포털에서 더 잘 추적할 수 있습니다. 대형 이진 파일에 버전을 지정해야 한다면 Git 확장인 Git LFS(Large File Storage)를 사용해 보세요.
중요 Git 파일(예: .gitignore) 만들기
Git은 파일 정책 버전 제어를 더 잘 실행할 수 있도록 .gitignore
파일을 지원합니다. 이러한 파일은 소스 제어 추적에서 파일과 폴더를 제외하는 데 사용하는 검색 패턴을 정의합니다. 다음의 예제에서는 소스 제어 추적에서 Bin 또는 bin이라는 이름의 모든 폴더를 반복해서 제외합니다.
[Bb]in/
파일 무시에 대해 자세히 알아보세요. gitignore 리포지토리의 다양한 플랫폼용으로 제공되는 스타터 .gitignore
파일 컬렉션도 확인해 보세요.
GitHub 프로젝트에서는 리포지토리 소비자 및 기여자에게 다양한 정책을 설명해 주는 다른 파일을 자주 사용합니다. 프로젝트가 비공개이며 대상이 제한적이라 하더라도 이러한 정책을 명확하게 설명하면 도움이 됩니다. 이러한 파일은 필수는 아니지만 여기에는 자주 사용하는 일부 파일이 나와 있습니다.
파일 | 용도 |
---|---|
README.md |
디렉터리의 방문 페이지입니다. 이 페이지는 GitHub에서 관련 디렉터리를 볼 때 렌더링됩니다. |
LICENSE.md |
이 파일에는 코드가 제공되는 라이선스가 포함되어 있습니다. |
CONTRIBUTING.md |
끌어오기 요청 예상 같은 프로젝트에 사용자가 어떻게 기여해야 하는지를 설명합니다. |
SECURITY.md |
프로젝트에 대한 보안 정책을 설명합니다. 이 파일은 중요한 보안 관련 코드 또는 주소를 지정하기 전에 공개적으로 공개해서는 안 되는 피드백을 제출하려는 사용자에게 지침을 제공합니다. |
정상적인 기여를 위한 프로젝트 설정에 대해 자세히 알아보세요.
GitHub에 프로젝트 업로드
리포지토리를 업로드할 준비가 되면 GitHub에서 리포지토리를 만듭니다. 생성이 끝나면 GitHub 리포지토리의 코드 탭으로 이동 합니다. 이 보기에서는 다양한 방법으로 프로젝트 코드를 업로드할 수 있습니다.
소스에는 git 클라이언트 또는 Git 친화적인 도구를 사용하여 업로드하는 것이 좋습니다. 새 파일 만들기 링크를 사용하여 파일을 수동으로 업로드해도 됩니다. 장기적으로 보면 git 클라이언트를 사용하는 것이 변경 사항과 분기 등을 관리하는 최상의 방법임을 알게 될 것입니다.