Google, Meta, Amazon 등은 각자 자체적인 도구를 쓰기도 하지만, 기본 철학은 "Git Flow" 또는 "Trunk-Based Development"와 유사하며 GitHub의 Pull Request(PR) 시스템을 핵심으로 사용합니다.
핵심 프로세스는 다음과 같습니다:
개인 서버(Linux/Ubuntu 등)에서 GitHub에 안전하게 접속하고 코드를 올리는 가장 정석적인 방법은 SSH Key를 사용하는 것입니다.
1단계: Git 설치 및 기본 설정 (서버 터미널)
서버에 git이 없다면 설치하고, 본인의 정보를 등록합니다.
# 1. git 설치
sudo apt-get update
sudo apt-get install git -y
# 2. 유저 이름과 이메일 등록 (GitHub에 가입한 이메일 권장)
git config --global user.name "Your Name"
git config --global user.email "your_email@example.com"
2단계: SSH 키 생성 (서버 터미널)
서버가 GitHub에 "내가 주인이다"라고 증명할 열쇠를 만듭니다.
# 이메일 주소는 본인 GitHub 이메일로 변경하세요
ssh-keygen -t ed25519 -C "your_email@example.com"
3단계: 공개키(Public Key) 복사 (서버 터미널)
만들어진 열쇠 중 "공개된 열쇠" 내용을 확인하고 복사합니다.
cat ~/.ssh/id_ed25519.pub
4단계: GitHub에 키 등록 (웹 브라우저)
1. GitHub에 로그인합니다.
2. 우측 상단 프로필 아이콘 클릭 -> Settings 클릭.
3. 좌측 메뉴에서 SSH and GPG keys 클릭.
4. New SSH key 초록색 버튼 클릭.
- Title: 내 서버 이름 (예: My Private Server)
- Key: 아까 복사한 ssh-ed25519... 내용을 붙여넣기.
5. Add SSH key 클릭.
5단계: 연결 테스트 (서버 터미널)
서버로 돌아와서 잘 연결됐는지 확인합니다.
ssh -T git@github.com
6단계: GitHub에 새 프로젝트(Repository) 만들기 (웹 브라우저)
1. GitHub 메인 페이지 우측 상단의 + 버튼 -> New repository.
2. Repository name 입력 (예: my-server-project).
3. Public/Private 선택 (비공개로 하려면 Private).
4. Create repository 클릭.
5. 화면에 나오는 주소 중 SSH 버튼을 클릭해서 주소를 복사해둡니다. (예: git@github.com:User/my-server-project.git)
7단계: 서버에서 프로젝트 시작 및 업로드 (서버 터미널)
이제 서버에서 폴더를 만들고 GitHub에 코드를 올려봅시다.
# 1. 프로젝트 폴더 생성 및 진입
mkdir my-server-project
cd my-server-project
# 2. git 초기화 (이 폴더를 git으로 관리하겠다)
git init
# 3. 방금 만든 GitHub 저장소와 연결 (아까 복사한 SSH 주소 사용)
# git remote add origin [복사한 SSH 주소]
git remote add origin git@github.com:YourID/my-server-project.git
# 4. 테스트 파일 생성
echo "# My First Project" > README.md
# 5. 파일을 장바구니에 담기 (Staging)
git add .
# 6. 버전을 확정짓기 (Commit)
git commit -m "First commit from server"
# 7. GitHub로 쏘아 올리기 (Push)
# 처음 올릴 때는 -u 옵션을 써서 기본 업로드 경로를 지정해줍니다.
git push -u origin main
(참고: 만약 브랜치 이름이 master로 되어 있다면 git branch -M main 명령어로 main으로 바꿔주는 것이 요즘 추세입니다.)