AI 업무 허브 구축 프로젝트 #2 GitHub 사용법, Mac과 NAS 연결하기

📌 AI 업무 허브 구축 프로젝트
  • 진행일 : Day 2
  • 현재 단계 : 개발환경 구축
  • 다음 목표 : Flask 프로젝트 생성
  • 최종 목표 : 업무를 기록하고 AI가 검색·분석·자동화하는 개인 업무 허브 구축

AI 업무 허브 구축 프로젝트 2편. GitHub 사용법을 초보자 눈높이에서 정리했습니다. 저장소 생성부터 Git 설치, SSH 연결, VS Code 사용, Mac에서 NAS로 코드 가져오기까지 단계별로 알아봅니다.

지금까지 진행 사항

AI 업무 허브 구축 프로젝트 #1 프로젝트를 시작하며

GitHub를 사용하게 된 이유

Chat GPT 코드 복사 방식의 한계

처음에는 NAS에 프로그램 파일을 만들고, ChatGPT가 생성한 코드를 복사해 붙여 넣는 방식으로 개발을 시작했습니다. 처음에는 가장 쉽고 빠른 방법이었습니다.

하지만 프로젝트가 커질수록 한계가 생겼습니다. ChatGPT는 한 번에 출력할 수 있는 코드의 양이 제한되어 있어, 파일이 300줄만 넘어도 전체 코드를 수정하기가 쉽지 않았습니다.

더 큰 문제는 수정한 파일을 하나씩 NAS에 복사하는 작업이었습니다. 파일이 늘어날수록 어떤 파일을 바꿨는지 관리하기도 어려워질 수 있고, 실제로는 거의 불가능합니다.

그래서 맥에서 개발한 내용을 GitHub에 저장하고, NAS에서는 GitHub의 최신 파일을 그대로 내려받는 방식을 선택하게 되었습니다.

GitHub란? 초보자를 위한 쉬운 설명 (for me)

왜 GitHub 를 선택했을까요 ?

많이 들어봤지만 너무 어렵게 보여서 도통 쉽게 접근이 안되던 사이트가 GitHub 입니다. 일단 화면이 너무 복잡해서 쉽게 적응을 하기 힘들었습니다.

GitHub 를 한줄로 정의하면 다음과 같습니다.

GitHub는 내가 만든 코드를 안전하게 저장하고, 어디서든 이어서 작업할 수 있게 도와주는 온라인 저장소입니다.

GitHub를 사용하면 좋은 점은?

GitHub 에 코딩한 내용이 저장되기 때문에, 쉽게 이전 버전으로 복원이 가능합니다. 동시에 여러 컴퓨터에서 동일한 작업을 할 수 있어 편리합니다.

게다가 ChatGTP 앱에서 묻고 답하는 방식이 아닌 VSCode 에서 바이브 코딩을 직접할 수 있어, 코딩 길이도 자유롭습니다.

GitHub 사용법, 설치부터 연결까지

GitHub 저장소 만들기

먼저 웹 브라우저에서 https://github.com에 접속합니다.

계정이 없다면 우측 상단의 Sign up을 눌러 회원가입을 진행합니다. 이메일 주소를 입력하고 비밀번호를 설정한 뒤, 사용자 이름(User name)을 정하면 됩니다. 회원가입이 완료되면 이메일 인증까지 마쳐야 합니다.

로그인한 후 화면 오른쪽 위의 + 버튼을 클릭한 뒤 New repository를 선택합니다.

다음과 같이 입력합니다.

  • Repository name : AI-Work-Hub
  • Description : AI Work Hub Project (선택 사항)
  • Visibility : Private (권장)
  • Add a README file : 체크하지 않음
  • Add .gitigno

설정을 마쳤다면 Create repository 버튼을 클릭합니다.

이렇게 하면 AI Work Hub 프로젝트를 저장할 빈 저장소가 생성됩니다. 이제 내 컴퓨터 (imac) 와 연동하여


Mac / Window에 Git 설치하기

MAC 과 윈도우 모두 약간의 터미널 작업은 필요합니다. 터미널에 익수해지는 것도 필요한 것 같습니다.

MAC 에서 설치

Git은 프로젝트의 변경 내역을 기록하고 GitHub와 연결해 주는 프로그램입니다. macOS에는 대부분 기본으로 설치되어 있습니다. 설치 점검은 아래 명령어로 확인할 수 있습니다.

터미널을 실행한 뒤 다음 명령을 입력합니다.

git --version

버전 번호가 표시되면 이미 설치된 것입니다.

만약 설치되어 있지 않다면 Homebrew를 이용하여 설치합니다. (Homebrew 는 맥에서 사용하는 패키지 관리자 입니다.)

brew install git

설치가 완료되면 Git에 사용할 이름과 이메일을 등록합니다. 이 정보는 커밋 기록에 작성자로 표시됩니다.

git config --global user.name "홍길동"
git config --global user.email "example@gmail.com"

내 컴퓨터 (맥에서) 등록이 제대로 되었는지 확인합니다.

git config --list

여기에서 조금 전에 입력한 이름과 이메일이 보이면 정상적으로 설정된 것입니다.

Windows 에서 설치

Windows 사용자는 먼저 Git for Windows를 설치합니다.

https://git-scm.com/downloads

설치 과정은 기본 옵션(Default)으로 진행하면 됩니다. 설치가 완료되면 Git Bash를 실행하거나 VS Code의 터미널을 사용할 수 있습니다.

이후부터 사용하는 Git 명령어는 Mac과 완전히 동일합니다.

Git 사용자 정보 등록

설치가 완료되면 Git에 사용할 이름과 이메일을 등록합니다.

git config --global user.name "홍길동"
git config --global user.email "example@gmail.com"

등록 여부를 확인합니다.

git config --list

여기에서 조금 전에 입력한 이름과 이메일이 보이면 정상적으로 설정된 것입니다.


GitHub와 SSH 연결 방법 (인증키 방식)

이제 컴퓨터에 GitHub 연결을 위한 설치를 마무리했고, GutHub에 접속하기 위한 접속 방법을 설정해야 합니다.

일반 사이트는 아이디와 패스워드로 접속이 되지만, GitHub 에 폴더 및 코드를 올릴 때는 SSH 방식이나, PAT (Personal Access Token)를 이용해야 합니다.

저는 유지보수가 쉽고, 컴퓨터 및 NAS 모드 쉽게 적용이 가능한 SSH 방식을 적용할 예정입니다.

SSH 키는 두 개의 파일로 구성됩니다.

  • 개인 키: 자신의 컴퓨터에만 보관
  • 공개 키: GitHub 계정에 등록

GitHub는 두 키가 서로 일치하는지 확인한 뒤 접속을 허용합니다. 개인 키는 외부에 공개하거나 다른 사람에게 전달하면 안 됩니다.

기존 SSH 키 확인

Mac에서는 터미널을 실행하고, Windows에서는 Git Bash를 실행합니다. 다음 명령으로 기존 SSH 키가 있는지 확인합니다.

ls -al ~/.ssh

다음과 같은 파일이 보이면 이미 SSH 키가 생성되어 있을 수 있습니다.

id_ed25519
id_ed25519.pub

id_ed25519는 개인 키이고, id_ed25519.pub는 GitHub에 등록하는 공개 키입니다.

기존 키가 없다면 다음 단계에서 새로 생성합니다.

SSH 키 생성

아래 명령의 이메일 주소를 GitHub 가입에 사용한 이메일 주소로 변경합니다.

ssh-keygen -t ed25519 -C "example@gmail.com"

다음과 같이 저장 위치를 묻는 메시지가 나타납니다.

Enter file in which to save the key:

별도의 위치를 지정하지 않을 경우 아무것도 입력하지 않고 Enter를 누릅니다. 그러면 기본 위치인 ~/.ssh/id_ed25519에 저장됩니다.

다음으로 SSH 키에 사용할 암호를 입력합니다.

Enter passphrase:

암호를 설정하면 개인 키가 유출되더라도 추가로 보호할 수 있습니다. 암호를 입력할 때는 화면에 글자가 표시되지 않습니다.

암호를 사용하지 않으려면 아무것도 입력하지 않고 Enter를 누릅니다. 초보자라면 암호를 설정하는 것을 권장합니다.

Mac에서 SSH 키 등록

Mac에서는 먼저 SSH Agent를 실행합니다.

eval "$(ssh-agent -s)"

SSH 설정 폴더와 설정 파일을 만듭니다.

mkdir -p ~/.ssh
touch ~/.ssh/config

다음 명령을 한 번에 복사해 실행합니다.

cat << 'EOF' >> ~/.ssh/config
Host github.com
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_ed25519
EOF

생성한 SSH 키를 Mac 키체인에 등록합니다.

ssh-add --apple-use-keychain ~/.ssh/id_ed25519

SSH 키를 만들 때 입력한 암호가 있다면 해당 암호를 입력합니다.

Windows에서 SSH 키 등록

Windows에서는 Git Bash를 실행한 뒤 SSH Agent를 시작합니다.

eval "$(ssh-agent -s)"

생성한 SSH 키를 등록합니다.

ssh-add ~/.ssh/id_ed25519

SSH 키 생성 시 암호를 설정했다면 해당 암호를 입력합니다.

공개 키 복사

이제 공개 키를 복사하여 GitHub에 등록합니다.

Mac에서는 다음 명령을 실행합니다.

pbcopy < ~/.ssh/id_ed25519.pub

Windows Git Bash에서는 다음 명령을 실행합니다.

clip < ~/.ssh/id_ed25519.pub

명령을 실행하면 공개 키가 클립보드에 복사됩니다.

공개 키 내용을 직접 확인하려면 다음 명령을 사용할 수 있습니다.

cat ~/.ssh/id_ed25519.pub

출력되는 내용은 ssh-ed25519로 시작하는 한 줄입니다. 공개 키(id_ed25519.pub) 는 GitHub에 등록해도 되지만, 개인 키인 id_ed25519의 내용은 절대 공개하면 안 됩니다.

GitHub에 공개 키 등록

웹 브라우저에서 GitHub에 로그인합니다.

오른쪽 위의 프로필 사진을 클릭한 뒤 다음 메뉴로 이동합니다.

Settings
→ SSH and GPG keys
→ New SSH key

각 항목을 다음과 같이 입력합니다.

Title: My Mac
Key type: Authentication Key
Key: 복사한 공개 키 붙여 넣기

Windows 컴퓨터라면 제목을 My Windows PC처럼 입력하면 나중에 어떤 컴퓨터의 키인지 구분하기 쉽습니다.

입력이 끝나면 Add SSH key 버튼을 클릭합니다.

GitHub SSH 연결 확인

터미널 또는 Git Bash에서 다음 명령을 실행합니다.

ssh -T git@github.com

처음 연결하는 경우 다음과 비슷한 메시지가 나타날 수 있습니다.

Are you sure you want to continue connecting (yes/no/[fingerprint])?

다음과 같이 입력하고 Enter를 누릅니다.

yes

연결에 성공하면 다음과 비슷한 메시지가 표시됩니다.

Hi 사용자이름! You've successfully authenticated, but GitHub does not provide shell access.

이 메시지가 나타나면 컴퓨터와 GitHub의 SSH 연결이 완료된 것입니다.

GitHub 저장소 주소를 SSH 방식으로 복사

이 과정은 내 컴퓨터에서 만든 프로젝트를 Github의 어느 저장소에 올릴 것인지 지정하기 위한 작업입니다.

GitHub에서 앞서 생성한 AI-Work-Hub 저장소를 엽니다.

저장소 화면에서 초록색 Code 버튼을 클릭한 뒤 SSH 탭을 선택합니다.

다음과 같은 주소가 표시됩니다.

git@github.com:사용자이름/AI-Work-Hub.git

오른쪽의 복사 버튼을 눌러 주소를 복사합니다.

프로젝트 폴더와 GitHub 저장소를 연결할 때는 다음 명령을 사용합니다. 반드시 이 명령은 저장소 폴더에서 터미널을 실행해서 진행해야 합니다.

git remote add origin git@github.com:사용자이름/AI-Work-Hub.git

사용자이름 부분은 자신의 GitHub 사용자 이름으로 변경해야 합니다.

이후 GitHub에 처음 업로드할 때는 다음 명령을 실행합니다.

git branch -M main
git push -u origin main

SSH 연결을 한 번 완료하면 이후에는 GitHub 비밀번호를 입력하지 않고 코드를 업로드하거나 내려받을 수 있습니다. SSH 키에 암호를 설정했다면 최초 연결 시 해당 암호를 요구할 수 있습니다.


VS Code와 Git 연동

VS Code를 실행한 뒤 File → Open Folder를 선택합니다.

프로젝트를 저장할 위치를 선택한 후 AI-Work-Hub라는 폴더를 새로 만들고 해당 폴더를 엽니다.

또는 터미널에서 다음 명령을 실행해도 됩니다.

mkdir AI-Work-Hub
cd AI-Work-Hub
code .

프로젝트 폴더가 열리면 터미널(Terminal → New Terminal)을 열고 아래 명령으로 기본 폴더를 생성합니다.

mkdir flask postgres qdrant doc
touch docker-compose.yml

폴더 구조는 다음과 같습니다.

AI-Work-Hub/
├── docker-compose.yml
├── flask/
├── postgres/
├── qdrant/
└── doc/

이번 시리즈에서는 가장 단순한 구조로 시작합니다. 필요한 기능은 이후 포스팅에서 하나씩 추가해 나갈 예정입니다.


GitHub에 내가 만든 코드 올리기(Push)

이제 GitHub와 내 컴퓨터의 프로젝트 폴더를 연결하여, 필요할 때 자동으로 Github 에 작성중인 내용이 올라 갈 수 있도록 진행합니다.

먼저 내 컴퓨터의 프로젝트 폴더에서 Git 저장소를 초기화합니다.

git init

프로젝트가 Git으로 관리되기 시작합니다.

다음으로 현재 폴더의 모든 파일을 Git에 등록합니다.

git add .

등록한 파일을 하나의 버전으로 저장합니다.

git commit -m "Initial project"

이제 GitHub에서 만든 저장소와 연결해야 합니다.

GitHub 저장소 화면으로 이동하면 가운데 부분에 Quick setup이 표시됩니다. 그 아래에 있는 저장소 주소를 복사합니다.

예를 들어 저장소 주소가 다음과 같다면

https://github.com/myname/AI-Work-Hub.git

아래 명령을 실행합니다. (앞의 순서에서 Github 에 연결했다면, 아래 명령어를 다시 칠 필요는 없습니다.)

git remote add origin https://github.com/myname/AI-Work-Hub.git

기본 브랜치를 main으로 변경합니다.

git branch -M main

이제 처음으로 GitHub에 업로드합니다.

git push -u origin main

처음 업로드할 때 GitHub 로그인을 요구할 수 있습니다.

최근 GitHub는 비밀번호 대신 브라우저 인증이나 Personal Access Token(PAT)을 사용합니다. 안내 화면이 나타나면 브라우저에서 로그인하여 인증을 완료하면 됩니다.

업로드가 끝난 뒤 GitHub 페이지를 새로고침하면 프로젝트 파일이 등록된 것을 확인할 수 있습니다.

위 등록 방식은 처음으로 gitHub 에 등록을 하는 방식이로 이미 지정된 등록이 완료 되어 있다면, 다음 명령어 실행을 통해 쉽게 업로드 할 수 있습니다.

git add .
git commit -m "Update project"
git push origin main

NAS에서 GitHub 코드 내려받기(Pull)

이제 NAS에서도 같은 프로젝트를 사용할 수 있습니다.

NAS의 SSH 터미널에 접속한 뒤 프로젝트를 저장할 위치로 이동합니다.

다음 명령으로 GitHub 저장소를 내려받습니다.

git clone https://github.com/myname/AI-Work-Hub.git

복제가 완료되면 프로젝트 폴더로 이동합니다.

cd AI-Work-Hub

앞으로는 Mac에서 개발한 후 GitHub에 업로드(Push)하고, NAS에서는 아래 명령만 실행하면 최신 코드로 갱신됩니다.

git pull origin main

이 방식의 가장 큰 장점은 개발 환경과 실행 환경을 분리할 수 있다는 점입니다. Mac에서는 편리하게 코드를 작성하고 테스트한 뒤 GitHub에 저장하고, NAS는 항상 GitHub의 최신 코드를 받아 실행하면 됩니다. 또한 문제가 발생했을 때 이전 버전으로 쉽게 되돌릴 수 있어 프로젝트를 훨씬 안정적으로 관리할 수 있습니다.

자주 묻는 질문들

Git과 GitHub는 무엇이 다른가요?

Git은 내 컴퓨터에서 파일의 변경 이력을 관리하는 프로그램입니다. 코드를 수정한 기록을 남기고, 필요하면 이전 상태로 되돌릴 수 있습니다.

GitHub는 Git으로 관리하는 프로젝트를 인터넷에 저장하고 여러 컴퓨터에서 공유할 수 있게 해주는 서비스입니다.

쉽게 말하면 Git은 버전 관리 도구이고, GitHub는 그 파일을 보관하고 공유하는 온라인 공간입니다.

GitHub는 꼭 사용해야 하나요?

꼭 사용해야 하는 것은 아닙니다. 컴퓨터 한 대에서 간단한 프로그램을 만든다면 Git만 사용해도 됩니다.

하지만 Mac에서 개발하고 NAS에서 실행하는 것처럼 여러 장비에서 같은 프로젝트를 사용한다면 GitHub를 이용하는 것이 훨씬 편리합니다.

또한 컴퓨터나 NAS에 문제가 생겨도 GitHub에 코드가 남아 있기 때문에 백업 역할도 할 수 있습니다.

NAS에서 직접 개발하면 안 되나요?

가능합니다. NAS에 SSH로 접속하거나 파일을 직접 열어 코드를 수정할 수도 있습니다.

하지만 NAS는 기본적으로 프로그램 개발을 위한 장비라기보다는 파일 저장과 서버 실행에 적합한 장비입니다.

저 또한 가족들의 모든 자료가 NAS 에 등록되어 있습니다. 이러한 NAS 가 프로그램 코딩을 하다가 실수라도 한다면… 상상 하기도 싫습니다.

따라서 Mac이나 Windows PC에서 VS Code로 편하게 개발한 뒤 GitHub에 올리고, NAS에서는 완성된 코드를 내려받아 실행하는 방식이 관리하기 쉽습니다.

VS Code는 왜 사용하는 건가요?

VS Code는 프로그램 코드를 작성하고 수정하기 위한 편집 프로그램입니다.

일반 메모장과 달리 코드의 색상을 구분해서 보여주고, 오류를 찾거나 터미널을 실행하고 Git을 사용하는 기능도 함께 제공합니다.

특히 AI 코딩 도구를 연결하면 코드를 직접 복사해서 붙여 넣지 않고 프로젝트 파일을 보면서 수정할 수 있어개발 작업이 훨씬 편리해집니다.

📚 AI 업무 허브 구축 일지

  • ✔ 첫째 날 | AI 업무 허브 프로젝트를 시작하며
  • ✔ 둘째 날 | 개발 환경 구축
  • □ 셋째 날 | Flask 프로젝트 시작
  • □ 넷째 날 | PostgreSQL 데이터베이스 구축
  • □ 다섯째 날 | 업무 일지 기능 구현
  • □ 여섯째 날 | n8n 자동화 구축
  • □ 일곱째 날 | AI 검색 기능 구현
  • □ 여덟째 날 | AI 자동화 기능 확장
  • □ 아홉째 날 | AI 업무 허브 고도화
  • □ 열째 날 | AI 업무 허브 1차 완성