홈 / 개발환경구축 / Git / Git을 이용한 GitHub 활용 실제
macOS 개발자를 위한 Git & GitHub 완벽 가이드 : 설치부터 예제까지
안녕하세요! 개발의 세계에 첫발을 내딛거나, 협업의 효율을 높이고 싶은 모든 macOS 사용자 여러분을 환영합니다. 코드를 작성하는 것만큼이나 중요한 것이 바로 '버전 관리'입니다. 내가 작성한 코드의 변경 사항을 추적하고, 원하는 시점으로 되돌아가고, 다른 개발자와 원활하게 협업하기 위해 Git과 GitHub는 이제 선택이 아닌 필수 도구가 되었습니다.
최근에 많은 이슈를 가지고 있는 인공지능을 이용한 Vive Coding이나 인공지능과의 협업시에도 버전관리는 반드시 필요합니다. 인공지능이 처음에는 똑똑한듯 하지만, 동일한 세션의 채팅에서는 시간이 지나가고 코드가 복잡해질 수록 허무하기 짝이 없는 실수들이 많이 나옵니다. 불필요한 코드를 추가해서 코드를 더 복잡하게 만들거나, 전체적인 프로젝트 구조를 이해하지 않고 단편적인 코드를 수정한다거나 하는 실수들이 자주 나오게 됩니다. 이런 이슈가 발생할 때마다 롤백기능을 활용해서 코드 수정 이전으로 되돌아가야 하는 경우가 많이 발생하고 있습니다. 이때 롤백기능를 제공해주는것이 버전관리이며, 많은 개발자들이 애용하고 있는 GitHub를 기준으로 git을 사용하는 방법을 공유하고자 합니다.
이 글에서는 macOS 환경에 최신 버전의 Git을 설치하고, 번거로운 비밀번호 입력 없이 GitHub를 안전하게 사용하는 SSH 설정법, 그리고 실무에서 바로 써먹을 수 있는 Git 핵심 워크플로우까지, A부터 Z까지 차근차근 알려드립니다.
💻 이런 분들께 추천해요!
Git을 처음 시작하는 입문자
Apple 기본 Git만 사용해봐서 최신 버전으로 관리하고 싶은 분
매번 git push 할 때마다 비밀번호 입력이 귀찮았던 분
체계적인 Git 워크플로우를 익히고 싶은 분
자, 그럼 시작해볼까요?
1. 왜 Homebrew로 Git을 설치해야 할까?
macOS에는 기본적으로 Git이 설치되어 있습니다 (Apple Git). 터미널에 git --version을 쳐보면 확인하실 수 있죠. 하지만 이 버전은 Apple이 macOS 업데이트 주기에 맞춰 제공하기 때문에, 최신 Git의 새로운 기능이나 개선 사항이 즉시 반영되지 않을 수 있습니다.
Homebrew라는 macOS용 패키지 관리자를 사용하면, 우리는 언제나 원할 때 공식 최신 버전의 Git을 설치하고 손쉽게 업데이트할 수 있습니다. 개발 생태계의 빠른 변화에 발맞추기 위한 최고의 선택이죠.
2. Homebrew로 최신 Git 설치 및 설정
Homebrew 설치
현재 저는 Mac Mini와 Macbook pro를 사용하고 있는데요. 최근에 구매한 Mac Mini의 경우 기본적으로 설치되어 있는 git 버전이 'git version 2.39.5 (Apple Git-154)'입니다. 이 버전도 기본적인 사용에는 문제가 없지만, Git은 계속해서 새로운 기능이 추가되고 개선되므로 Homebrew를 통해 최신 버전으로 관리하는 것을 권장합니다.
# 현재 설치된 git버전 확인하기
git --version
# 현재 설치된 버전 정보
git version 2.39.5 (Apple Git-154)
# 설치된 위치를 보면 Apple 기본 위치에 설치된걸 확인할 수 있습니다.
whereis git ✔ │ 17:47:30
git: /usr/bin/git /Library/Developer/CommandLineTools/usr/share/man/man1/git.1
먼저, Homebrew가 설치되어 있지 않다면 터미널을 열고 아래 명령어를 실행해 주세요.
#bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
설치 스크립트의 안내에 따라 macOS 사용자 비밀번호를 입력하고 진행하면 됩니다.
최신 Git 설치
Homebrew가 준비되었다면, Git을 설치하는 것은 정말 간단합니다.
#bash
brew install git
Homebrew Git을 기본으로 설정하기
이제 우리 컴퓨터에는 Apple 기본 Git과 Homebrew로 설치한 최신 Git, 두 개가 공존하게 되었습니다. 시스템이 최신 Git을 우선적으로 사용하도록 PATH 환경 변수를 설정해주어야 합니다.
- 셸 설정 파일 열기 (macOS의 기본 셸인 zsh 기준)만약 파일이 없다는 메시지가 나오면 touch ~/.zshrc 명령어로 파일을 먼저 생성해주세요.
-
#bash vi ~/.zshrc # Vi/Vim 편집기가 설치되어 있다면, or open ~/.zshrc # MacOS 기본 편집기를 사용하려면
- MacOS 환경설정 파일인 ~/.zshrc를 편집기로 열어주세요.
- 경로 추가 열린 텍스트 편집기 파일 맨 아래에 다음 한 줄을 추가하고 저장하세요. 이 설정은 "명령어를 찾을 때, Homebrew의 bin 폴더를 먼저 확인해 줘!"라는 의미입니다.
- Apple Sillicon 칩을 사용하는경우
# bash
export PATH="/opt/homebrew/bin:$PATH"
- Intel Chip기반 맥을 사용하는 경우
#bash
export PATH="/usr/local/bin:$PATH"
- 설정 적용 및 확인 : 터미널을 재시작하거나, 아래 명령어로 즉시 설정을 적용합니다.
#bash
source ~/.zshrc
- 이제 다시 사용하는 git과 버전을 확인해 봅니다.
#bash
which git
> /opt/homebrew/bin/git
# /opt/homebrew/bin/git 또는 /usr/local/bin/git 라고 나와야 성공!
git --version
> git version 2.50.0
# 이전에 확인했던 Apple Git 버전보다 높은 버전이 표시될 것입니다.
이제 부터는 새롭게 설치된 git을 이용할 수 있습니다.
- git 명령어 확인하기 : 쉘에서 "git'명령어 입력만으로 git을 이용한 다양한 기능을 확인할 수 있습니다.
#bash
git
usage: git [-v | --version] [-h | --help] [-C <path>] [-c <name>=<value>]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p | --paginate | -P | --no-pager] [--no-replace-objects] [--no-lazy-fetch]
[--no-optional-locks] [--no-advice] [--bare] [--git-dir=<path>]
[--work-tree=<path>] [--namespace=<name>] [--config-env=<name>=<envvar>]
<command> [<args>]
다음은 여러가지 상황에서 자주 사용하는 깃 명령입니다:
작업 공간 시작 (참고: git help tutorial)
clone 저장소를 복제해 새 디렉터리로 가져옵니다
init 빈 깃 저장소를 만들거나 기존 저장소를 다시 초기화합니다
변경 사항에 대한 작업 (참고: git help everyday)
add 파일 내용을 인덱스에 추가합니다
mv 파일, 디렉터리, 심볼릭 링크를 옮기거나 이름을 바꿉니다
restore Restore working tree files
rm 파일을 작업 폴더에서 제거하고 인덱스에서도 제거합니다
커밋 내역과 상태 보기 (참고: git help revisions)
bisect 이진 탐색으로 버그를 만들어낸 커밋을 찾습니다
diff 커밋과 커밋 사이, 커밋과 작업 내용 사이 등의 바뀐 점을 봅니다
grep 패턴과 일치하는 줄을 표시합니다
log 커밋 기록을 표시합니다
show 여러가지 종류의 오브젝트를 표시합니다
status 작업 폴더 상태를 표시합니다
커밋 내역을 키우고, 표시하고, 조작하기
backfill Download missing objects in a partial clone
branch 브랜치를 만들거나, 삭제하거나, 목록을 출력합니다
commit 바뀐 사항을 저장소에 기록합니다
merge 여러 개의 개발 내역을 하나로 합칩니다
rebase 커밋을 다른 베이스 끝의 최상위에서 적용합니다
reset 현재 HEAD를 지정한 상태로 재설정화합니다
switch Switch branches
tag 태그를 만들거나, 표시하거나, 삭제하거나, GPG 서명을 검증합니다
협동 작업 (참고: git help workflows)
fetch 다른 저장소에서 오브젝트와 레퍼런스를 다운로드합니다
pull 다른 저장소 또는 다른 로컬 브랜치에서 가져오거나 통합합니다
push 원격 레퍼런스 및 그와 관련된 오브젝트를 업데이트합니다
'git help -a' and 'git help -g' list available subcommands and some
concept guides. See 'git help <command>' or 'git help <concept>'
to read about a specific subcommand or concept.
See 'git help git' for an overview of the system.
3. Git에게 내 정보 알려주기 (초기 설정)
Git은 당신이 남기는 모든 코드 변경 기록(커밋)에 작성자 정보를 함께 저장합니다. 협업 시 누가 작성한 코드인지 명확히 하기 위해 꼭 필요한 설정입니다.
#bash
# 사용자 이름 설정 (GitHub 닉네임과 일치시키는 것을 추천)
git config --global user.name "Your Name"
# 사용자 이메일 설정 (GitHub 계정의 Public 이메일과 반드시 일치)
git config --global user.email "youremail@example.com"
# 기본 브랜치 이름을 'main'으로 설정 (최신 트렌드 반영)
git config --global init.defaultBranch main
# 터미널의 기본 에디터를 VS Code로 설정 (선택사항, 하지만 편리!)
git config --global core.editor "code --wait"
# 설정 내용 전체 확인
git config --list
이제 Git은 사용자의 기본정보를 기억하고, 다음부터는 config에 설정된 값을 그대로 사용하게 됩니다.
4. GitHub와 안전하게 악수하기 (SSH 키 설정)
매번 git push 할 때마다 아이디와 토큰(비밀번호)을 입력하는 것은 정말 번거롭습니다. SSH 키는 내 컴퓨터를 GitHub에 '등록'해두는 것과 같아서, 한번 설정해두면 비밀번호 없이 안전하고 빠르게 통신할 수 있습니다.
1) SSH 키 생성
- 기존 키 확인: 먼저 ls -al ~/.ssh 명령어로 기존에 만들어 둔 키가 있는지 확인합니다. id_ed25519.pub 같은 파일이 없다면 새로 만듭니다.
- 새 키 생성: 터미널에 아래 명령어를 입력합니다. 보안성이 높은 ed25519 알고리즘을 추천합니다.
- 파일 저장 위치 질문: 그냥 Enter!
- 비밀번호(passphrase) 입력: 키를 보호할 비밀번호입니다. 설정하면 보안이 강화됩니다. macOS에서는 키체인(Keychain)에 저장해두면 매번 입력할 필요가 없으니, 설정하는 것을 강력히 권장합니다.
#bash ssh-keygen -t ed25519 -C "youremail@example.com"
2) SSH Agent에 키 등록하기
SSH Agent는 키를 메모리에 올려두어 우리가 편하게 사용하도록 돕는 프로그램입니다.
- ~/.ssh/config 파일 설정 (자동 로드를 위한 꿀팁!) open -e ~/.ssh/config 명령어로 설정 파일을 열고 아래 내용을 붙여넣으세요. 이 설정은 SSH 키를 자동으로 키체인에 추가하고 관리해줍니다.
#bash Host * AddKeysToAgent yes UseKeychain yes IdentityFile ~/.ssh/id_ed25519
- Agent에 키 추가(키 비밀번호를 설정했다면 여기서 한번 입력해줍니다. 이후에는 자동으로 처리됩니다.)
#bash ssh-add ~/.ssh/id_ed25519
*
3) GitHub에 내 공개키(Public Key) 등록
-----------------------------
- 공개키 복사: 아래 명령어로 ~/.ssh/id_ed25519.pub 파일의 내용을 클립보드에 복사합니다.‼️ 주의: .pub이 붙은 공개키 파일입니다! .pub이 없는 개인키는 절대 외부에 노출해서는 안 됩니다.
pbcopy < ~/.ssh/id_ed25519.pub
- GitHub에 붙여넣기:
- GitHub 로그인 > 우측 상단 프로필 > Settings
- 좌측 메뉴 > SSH and GPG keys
- New SSH key 버튼 클릭
- Title: My MacBook Pro 와 같이 이 키를 식별할 이름을 지어줍니다.
- Key: 복사한 공개키를 붙여넣습니다.
- Add SSH key 클릭!
4) 연결 테스트
이제 마지막 관문입니다. 터미널에서 아래 명령어로 GitHub와 내 컴퓨터가 성공적으로 GitHub와 인증에 성공하는지 확인합니다.
#bash
ssh -T git@github.com
> Hi woosul! You've successfully authenticated, but GitHub does not provide shell access.
Hi YourUsername! You've successfully authenticated... 라는 메시지가 보이면 완벽하게 성공한 것입니다!
5. 실전! Git 워크플로우 A to Z
git을 설치하고, gitHub와 성공적으로 연결되었습니다. 이제 실제 프로젝트를 만들고 관리하는 흐름을 직접 경험해봅니다. 글로 읽는 것보다 직접 프로젝트를 만들고, GitHub에 저장소(Repository)를 만들어서 실제로 연결하고 파일을 업로드/다운로드 해보자구요...
시나리오: '나만의 포트폴리오 페이지' 만들기
1) 프로젝트 시작과 첫 커밋
#bash
# 1. 프로젝트 폴더 생성 및 이동
mkdir my-project
cd my-project
# 2. Git 저장소로 초기화 (.git 폴더 생성)
git init
# 3. 메인 HTML 파일 생성
echo "#This is my first project" > READMIE.md
# 4. 상태 확인 (가장 많이 사용하게 될 명령어!)
git status
# "Untracked files:" (추적하지 않는 파일) 목록에 README.md 파일이 보입니다.
# 5. 파일을 '스테이징 영역'으로 이동 (커밋할 준비)
git add README.me
# 6. 다시 상태 확인
git status
# "Changes to be committed:" (커밋될 변경사항) 목록에 README.md 파일이 보입니다.
# 7. 변경사항을 하나의 '버전(커밋)'으로 기록
git commit -m "Initial commit: Add main page"
# -m 은 커밋 메시지를 의미합니다. 이 버전에 어떤 변경이 있었는지 명확히 적는 습관이 중요합니다.
2) GitHub 원격 저장소 연동 및 최초 Push
- GitHub에서 비어있는 새 저장소(Repository)를 생성합니다. (Repository name: my-portfolio, README나 .gitignore 없이 생성)
- 생성된 페이지에서 SSH 주소를 복사합니다. (git@github.com:YourUsername/my-project.git)
- 터미널로 돌아와 원격 저장소를 연결하고 코드를 밀어 넣습니다(Push).
# 'origin'이라는 이름으로 원격 저장소 주소를 등록 # https://github.com/YourUsername/my-project.git으로 해도 됩니다. git remote add origin git@github.com:YourUsername/my-project.git # 로컬의 main 브랜치 내용을 origin(GitHub)의 main 브랜치로 Push git push -u origin main
이제 GitHub 저장소 페이지를 새로고침 해보세요. 코드가 멋지게 올라가 있을 겁니다!
3) 변경사항 만들고 추가 커밋하기
내 프로젝트에 다른 파일들을 추가해 봅시다. 웹사이트 구축 프로젝트라면 style.css 스타일을 추가해봅시다. 다른 모든 프로그램 소스코드 및 스크립트 파일들을 포함할 수 있습니다.
#bash
# 1. CSS 파일 생성
echo "h1 { color: steelblue; }" > style.css
# index.html 파일도 수정했다고 가정해봅시다.
# 2. 상태 확인
git status
# style.css는 'Untracked', index.html은 'modified'로 표시됩니다.
# 3. 모든 변경사항을 한번에 스테이징
git add .
# 4. 두 번째 커밋 생성
git commit -m "Feat: Add basic styling for main page"
# 'Feat'는 새로운 기능(Feature) 추가를 의미하는 커밋 메시지 규칙 중 하나입니다.
# 5. 변경사항을 GitHub에 Push
git push
# 처음에 -u 옵션을 사용했기 때문에, 이제부터는 간단히 git push만 입력하면 됩니다.
4) 내 발자취 돌아보기: 로그 확인
지금까지 내가 만든 버전 기록들이 궁금하다면 git log를 사용하세요.
#bash
# 기본 로그 확인
git log
# 한 줄로 깔끔하게, 그래프와 함께 보기 (강력 추천!)
git log --oneline --graph --decorate
6. 협업의 첫걸음, 브랜치(Branch)
main 브랜치에서 직접 작업하는 것은 위험할 수 있습니다. 기능 추가나 버그 수정은 새로운 브랜치를 만들어 독립된 공간에서 안전하게 작업하는 것이 좋습니다. 브랜치와 관련된 상세한 내용은 다음글에서 자세하게 정리해서 올릴 예정입니다. 좀 더 확실하게 자세하게 알고싶으시면 다음글을 참조하시면 되겠습니다.
이 글에서는 간단히 브랜치를 생성하고 사용하는 기본 방법만 언급하겠습니다.
시나리오: 'About' 페이지 추가하기
# 1. 'about-page' 기능 브랜치 생성 및 이동
git checkout -b feature/add-about-page
# 'git branch feature/add-about-page' 와 'git checkout ...' 을 합친 명령어입니다.
# 2. 새로운 파일 생성 및 커밋
echo "<h2>About Me</h2>" > about.html
git add .
git commit -m "Feat: Create about page"
# 3. 작업이 끝났으면 원래의 main 브랜치로 복귀
git checkout main
# 4. feature/add-about-page 브랜치의 내용을 main으로 병합(Merge)
git merge feature/add-about-page
# 5. 이제 main 브랜치에도 about.html 파일이 생겼습니다. GitHub에 Push!
git push
# 6. 용도가 끝난 브랜치는 삭제하여 깔끔하게 관리
git branch -d feature/add-about-page
글을 마치며
축하합니다! 여러분은 이제 macOS에서 Git을 자유자재로 다루기 위한 튼튼한 기초를 다졌습니다. 오늘 배운 내용을 정리해볼까요?
- Homebrew로 항상 최신 버전의 Git을 사용하세요.
- SSH 키 설정으로 안전하고 편리하게 GitHub와 연동하세요.
- add -> commit -> push 의 기본 사이클을 기억하세요.
- git status와 git log를 친구처럼 가까이 두세요.
- 안전한 작업을 위해 항상 브랜치를 만들어 작업하는 습관을 들이세요.
이 가이드가 여러분의 개발 여정에 든든한 디딤돌이 되기를 바랍니다. Git의 세계는 훨씬 더 깊고 넓습니다. 앞으로 rebase, pull request, cherry-pick 등 더 흥미로운 기능들을 탐험하며 즐거운 코딩 라이프를 즐기시길 응원합니다!
'AI 코딩' 카테고리의 다른 글
[AI코딩.03]Claude 4.0 Sonnet - 코딩 특화 기능 심화 탐구 (3) | 2025.07.05 |
---|---|
[AI코딩.02] ChatGPT와 GPT-4o - 코딩에서의 활용법 (11) | 2025.07.03 |
[AI코딩.01] AI 코딩 도구 생태계 개요 - 개발자의 새로운 동반자 (5) | 2025.07.01 |
Arduino IDE vs PlatformIO 개발 플랫폼 선택 (10) | 2025.07.01 |
PlatformIO 설치 및 활용 : 초보자 가이드 (7) | 2025.06.30 |