티스토리 뷰

생활 관련 정보

깃허브(GitHub) 잔디 심기 및 기본 명령어 가이드

minsa1000 2026. 10. 2. 11:29

목차


    GIT & GITHUB BEGINNER GUIDE

    깃허브 잔디는 단순히 매일 커밋 버튼을 누르는 기록이 아니라 실제 개발 활동이 기여 그래프에 반영된 결과입니다

    초보자라면 git status → git add → git commit → git push 흐름부터 정확히 익히는 것이 가장 중요합니다

    개발 공부를 시작하면 흔히 “깃허브 잔디를 심어야 한다”는 말을 듣습니다. 여기서 잔디란 GitHub 프로필의 Contributions 그래프에 표시되는 활동 기록을 말합니다. 하지만 파일을 수정하거나 로컬에서 커밋했다고 무조건 초록색 칸이 생기는 것은 아닙니다. 커밋 이메일, 저장소 상태, 브랜치와 반영 조건 등을 함께 이해해야 합니다. 이 글에서는 Git을 처음 접하는 사람도 따라갈 수 있도록 저장소 만들기 → 파일 수정 → add → commit → push → 기여 기록 확인 순서로 설명합니다.

    🌱 Contributions 💾 Commit 🚀 Push
    📂
    REPOSITORY
    저장소 프로젝트 관리 공간
    ➕
    ADD
    스테이징 커밋할 변경 선택
    💾
    COMMIT
    변경 기록 작업 단위 저장
    🚀
    PUSH
    원격 반영 GitHub로 전송

    깃허브 잔디와 Contributions의 의미

    개발자들이 말하는 ‘깃허브 잔디’는 GitHub 프로필에 표시되는 기여 그래프를 뜻합니다. 날짜별 활동량에 따라 칸의 색이 달라지는 모습이 잔디밭처럼 보여 국내 개발자 커뮤니티에서 흔히 사용하는 표현입니다. 중요한 점은 이 그래프가 단순한 로그인 횟수나 GitHub 접속시간을 표시하는 기능은 아니라는 것입니다.

    GitHub의 기여 기록에는 조건을 충족하는 커밋뿐 아니라 이슈나 풀 리퀘스트 등 여러 종류의 활동이 반영될 수 있습니다. 따라서 ‘잔디를 심는다 = 의미 없는 파일을 매일 한 번 수정한다’라고 이해하면 Git을 배우는 본래 목적에서 벗어나기 쉽습니다. 실제 프로젝트를 조금씩 개선하고 학습 내용을 코드나 문서로 정리하면서 자연스럽게 활동 기록이 남도록 만드는 편이 훨씬 유용합니다.

    특히 로컬 컴퓨터에서 만든 커밋이 자신의 GitHub 계정과 연결되려면 커밋 작성자 이메일이 중요합니다. Git에 설정된 이메일 주소가 GitHub 계정에 연결된 이메일과 맞지 않으면 자신이 만든 커밋인데도 프로필 기여 기록에서 기대한 방식으로 표시되지 않을 수 있습니다. 이메일 공개가 부담스럽다면 GitHub에서 제공하는 비공개용 noreply 이메일을 사용하는 방법도 있습니다.

    또 하나 알아둘 부분은 모든 브랜치의 모든 커밋이 즉시 같은 방식으로 기여 그래프에 표시된다고 생각해서는 안 된다는 점입니다. 일반적인 커밋 기여에는 저장소의 기본 브랜치나 GitHub Pages 관련 브랜치 등 기여 집계 조건이 관련됩니다. 기능 브랜치에서 작업한 커밋이 있다면 나중에 기본 브랜치로 병합되는 과정에 따라 기여가 반영될 수 있습니다.

    비공개 저장소에서 활동하는 사람이라면 프로필의 비공개 기여 표시 설정도 확인할 수 있습니다. 다만 비공개 활동을 공개하도록 설정하더라도 다른 사람에게 저장소의 민감한 내용 자체가 그대로 공개되는 방식과는 구분해서 이해해야 합니다. 결국 잔디의 개수보다 중요한 것은 어떤 문제를 해결했고 어떤 프로젝트와 학습 기록을 남겼는지입니다.

    항목기본 이해
    잔디GitHub 프로필의 Contributions 활동 그래프를 일컫는 표현입니다.
    Commit프로젝트 변경사항을 하나의 기록으로 남깁니다.
    Push로컬 저장소의 커밋을 원격 저장소로 전송합니다.
    이메일커밋과 GitHub 계정을 연결하는 중요한 정보입니다.
    브랜치커밋의 기여 집계 여부를 확인할 때 함께 살펴봐야 합니다.

    💡 실전 팁: 잔디를 채우는 것 자체를 목표로 하기보다 오늘 공부한 코드 수정, README 정리, 작은 기능 추가, 버그 수정처럼 설명할 수 있는 작업을 커밋하세요. 나중에 저장소를 다시 봤을 때 무엇을 공부하고 개선했는지가 남는 기록이 훨씬 가치가 있습니다.

    Git과 GitHub의 차이부터 이해하기

    초보자가 가장 많이 혼동하는 것이 Git과 GitHub입니다. 두 이름을 함께 사용하는 경우가 많지만 같은 것은 아닙니다. Git은 파일의 변경이력을 관리하는 분산 버전관리 시스템이고, GitHub는 Git 저장소를 온라인에서 호스팅하고 협업할 수 있도록 여러 기능을 제공하는 서비스입니다.

    쉽게 비유하면 내 컴퓨터에 있는 프로젝트의 변경이력을 관리하는 도구가 Git이고, 그 프로젝트를 원격 저장소에 올려 다른 컴퓨터에서도 접근하거나 다른 사람과 협업할 수 있도록 하는 공간 중 하나가 GitHub입니다. 그래서 인터넷이 연결되지 않은 상태에서도 로컬 Git 저장소에서 add와 commit 같은 작업을 할 수 있습니다. 반면 GitHub의 원격 저장소에 데이터를 보내는 push 과정에서는 네트워크 연결과 인증이 필요합니다.

    Git을 처음 배우면 ‘저장’이라는 표현 때문에 일반적인 파일 저장과 커밋을 혼동하기도 합니다. 문서 편집기에서 Ctrl+S를 누르는 것은 파일 자체를 디스크에 저장하는 것이고, Git의 commit은 선택한 변경사항을 프로젝트 이력의 한 시점으로 기록하는 과정입니다. 따라서 파일을 저장했다고 자동으로 커밋되는 것은 아닙니다.

    또한 commit과 push도 다릅니다. commit은 기본적으로 내 로컬 저장소에 변경이력을 만드는 작업이고, push는 그 커밋을 GitHub 같은 원격 저장소에 전송하는 작업입니다. 초보자가 “분명 커밋했는데 GitHub에서 코드가 안 보인다”고 말하는 경우에는 push를 하지 않은 상황이 흔합니다.

    반대로 다른 컴퓨터나 다른 개발자가 원격 저장소에 반영한 변경내용을 가져와야 할 때는 pull 또는 fetch와 같은 개념을 사용합니다. 처음에는 모든 명령어를 외우기보다 내 컴퓨터의 변경을 기록하는 commit, 원격으로 보내는 push, 원격 변경을 가져와 통합하는 pull이라는 방향성을 이해하면 Git의 전체 구조가 훨씬 쉽게 보입니다.

    개념하는 일기억할 표현
    Git변경이력 관리버전관리 도구
    GitHub원격 저장소·협업 기능 제공온라인 서비스
    Commit변경이력 기록로컬 기록
    Push커밋을 원격으로 전송GitHub에 반영

    처음에는 이 흐름만 기억하세요

    ✓ 파일을 수정하고 저장합니다.

    ✓ git add로 이번 커밋에 포함할 변경을 선택합니다.

    ✓ git commit으로 변경이력을 만들고 git push로 원격 저장소에 보냅니다.

    💡 Git과 GitHub를 분리해서 생각하세요: 인터넷 연결이 끊겨도 로컬에서 Git 커밋은 만들 수 있습니다. GitHub에 업로드하는 과정은 별도의 원격 저장소 작업입니다. 이 차이를 이해하면 오류 메시지를 만났을 때 어느 단계에서 문제가 생겼는지 찾기가 쉬워집니다.

    처음 저장소를 연결하는 기본 과정

    GitHub를 처음 사용할 때는 두 가지 출발방식을 자주 접합니다. 이미 GitHub에 만들어진 저장소를 내 컴퓨터로 가져오는 방법과 내 컴퓨터에서 만든 프로젝트를 Git 저장소로 만든 뒤 원격 저장소와 연결하는 방법입니다. 초보자는 이 두 흐름을 섞어서 사용하다가 오류를 경험하는 경우가 많으므로 자신의 시작상황부터 구분해야 합니다.

    GitHub에 이미 저장소가 있다면 git clone을 사용하는 방법이 가장 이해하기 쉽습니다. clone은 원격 저장소의 프로젝트와 Git 이력을 로컬 컴퓨터로 복제합니다. 복제된 폴더로 이동한 뒤 파일을 수정하고 add, commit, push 과정을 진행하면 됩니다.

    기존 원격 저장소를 가져오는 기본 형태

    git clone 저장소주소

    cd 프로젝트폴더

    반대로 내 컴퓨터에 먼저 프로젝트 폴더를 만들었다면 해당 폴더에서 git init으로 Git 저장소를 초기화할 수 있습니다. 이후 GitHub에서 준비한 원격 저장소와 연결할 때 git remote add origin 저장소주소 형태를 사용합니다. 여기서 origin은 원격 저장소를 가리키는 관례적인 이름이며 반드시 모든 상황에서 origin이라는 이름만 사용할 수 있다는 의미는 아닙니다.

    초기 설정에서는 사용자 이름과 이메일도 확인해야 합니다. git config를 이용해 커밋 작성자 정보를 설정할 수 있습니다. 특히 이메일은 GitHub 기여 기록과 연결될 수 있으므로 아무 이메일 주소나 입력하지 말고 자신의 계정 설정과 연결관계를 확인하는 것이 좋습니다.

    Git 사용자 정보 설정 예시

    git config --global user.name "사용자이름"

    git config --global user.email "GitHub에 연결된 이메일"

    여기서 --global은 해당 컴퓨터 사용자의 전역 Git 설정에 적용하는 방식입니다. 프로젝트별로 다른 이메일이나 이름을 사용해야 한다면 저장소 단위 설정을 사용할 수도 있습니다. 회사 계정과 개인 계정을 같은 컴퓨터에서 사용하는 경우에는 무조건 전역 설정 하나만 믿기보다 현재 저장소에 어떤 사용자 정보가 적용되는지 확인하는 습관이 좋습니다.

    처음 GitHub 프로젝트를 시작할 때
    기존 GitHub 저장소: git clone으로 가져오는 방법이 간단합니다.
    기존 로컬 프로젝트: git init으로 저장소를 초기화할 수 있습니다.
    원격 연결: git remote를 통해 GitHub 저장소와 연결합니다.
    작성자 확인: user.name과 user.email 설정을 점검합니다.
    명령어기능사용 시점
    git clone저장소 복제기존 원격 프로젝트를 가져올 때
    git initGit 저장소 초기화로컬 프로젝트에서 시작할 때
    git remote원격 저장소 관리원격 주소를 연결·확인할 때

    💡 인증 관련 주의: GitHub에 push할 때 계정 비밀번호를 단순히 입력하는 과거 방식만 생각하면 인증 오류를 만날 수 있습니다. HTTPS와 SSH 등 사용하는 연결방식에 따라 인증방법이 달라질 수 있으므로 GitHub 계정의 인증 설정과 현재 저장소의 원격 주소 방식을 함께 확인해야 합니다.

    매일 사용하는 Git 기본 명령어

    초보자라면 status → add → commit → push 흐름부터 익히세요

    프로젝트를 내려받은 뒤 실제 작업에서 가장 많이 반복하는 명령은 생각보다 많지 않습니다. 파일을 수정한 다음 git status로 현재 변경상태를 확인하고, 이번 기록에 포함할 파일을 git add로 스테이징합니다. 그다음 git commit으로 변경이력을 만들고 git push로 원격 저장소에 반영합니다.

    특히 git status를 자주 사용하는 습관을 들이면 좋습니다. 현재 어느 브랜치에 있는지, 어떤 파일이 변경됐는지, 어떤 파일이 스테이징됐는지 확인하는 데 도움이 됩니다. Git이 어렵게 느껴질수록 명령을 무작정 입력하기보다 status로 현재 상태를 확인한 뒤 다음 행동을 결정하는 방식이 실수를 줄여줍니다.

    git add . 를 습관적으로 누르기 전에 변경파일을 확인하세요

    git add .는 현재 경로를 기준으로 여러 변경사항을 한꺼번에 스테이징할 때 편리하지만 초보자가 아무 생각 없이 반복해서 사용하면 원하지 않는 파일까지 커밋에 포함할 수 있습니다. 환경설정 파일이나 임시파일, 로그, 비밀정보가 들어 있는 파일을 실수로 추가하지 않도록 먼저 git status를 확인하는 습관이 중요합니다.

    API 키, 비밀번호, 인증 토큰과 같은 비밀정보는 Git 저장소에 올려서는 안 됩니다. .gitignore를 이용해 버전관리에서 제외할 파일을 지정할 수 있지만 이미 커밋해 공개 저장소로 전송한 비밀정보는 단순히 파일을 삭제하는 것만으로 충분하지 않을 수 있습니다. 노출된 자격증명은 즉시 폐기하고 새로 발급하는 대응이 필요합니다.

    💡 가장 많이 쓰는 기본 흐름: git status → git add 파일명 → git commit -m "변경 내용" → git push입니다. 이 네 단계의 의미를 정확히 이해하면 GUI 프로그램을 사용하더라도 Git이 내부적으로 무엇을 하고 있는지 훨씬 쉽게 이해할 수 있습니다.

    XML

    커밋했는데 잔디가 안 생길 때 확인할 것

    분명히 커밋하고 push까지 했는데 프로필 기여 그래프에 원하는 기록이 나타나지 않는 경우가 있습니다. 이때 커밋을 반복해서 만들기보다 먼저 커밋 작성자 이메일을 확인하는 것이 좋습니다. GitHub는 커밋에 기록된 이메일을 이용해 해당 커밋을 계정과 연결할 수 있기 때문에 Git 설정과 계정의 이메일 연결상태가 중요합니다.

    현재 Git 사용자 정보 확인

    git config user.name

    git config user.email

    전역 설정을 확인하고 싶다면 git config --global user.email처럼 확인할 수 있습니다. 다만 현재 프로젝트에 별도의 로컬 설정이 존재하면 전역 설정과 다른 값이 적용될 수 있으므로 실제 커밋에 어떤 이메일이 기록되었는지도 함께 확인하는 편이 좋습니다.

    다음은 브랜치입니다. GitHub의 커밋 기여 집계에는 기본 브랜치 또는 GitHub Pages 관련 브랜치 등 조건이 적용될 수 있습니다. 별도의 기능 브랜치에서 작업 중이라면 아직 기본 브랜치에 병합되지 않아 기대한 방식으로 기여가 보이지 않을 수 있습니다. 따라서 현재 브랜치와 저장소의 기본 브랜치를 함께 확인합니다.

    포크한 저장소에서 작업하는 경우에도 일반 저장소와 기여 반영방식이 동일하다고 단순하게 생각하면 혼동할 수 있습니다. 포크에서 만든 작업이 원본 저장소에 풀 리퀘스트를 통해 반영되는 과정 등 GitHub의 기여 집계 조건을 확인할 필요가 있습니다.

    비공개 저장소의 활동을 다른 사람에게 기여량 형태로 보여주고 싶다면 프로필의 비공개 기여 표시 관련 설정도 확인합니다. 비공개 기여를 표시하는 것과 비공개 저장소의 코드나 저장소 이름을 공개하는 것은 같은 의미가 아닙니다. 회사나 조직 저장소의 경우에는 조직 정책도 함께 영향을 줄 수 있으므로 공개범위를 임의로 변경하기 전에 정책을 확인하는 것이 안전합니다.

    잔디가 안 보일 때 확인하는 순서
    1Push 확인: 커밋이 실제 GitHub 원격 저장소에 올라갔는지 확인합니다.
    2이메일 확인: 커밋 이메일과 GitHub 계정의 연결상태를 확인합니다.
    3브랜치 확인: 커밋이 어느 브랜치에 있는지 확인합니다.
    4저장소 확인: 포크·비공개 저장소 등 기여 조건을 확인합니다.

    🚨 주의: 잔디를 채우기 위해 날짜를 조작하거나 의미 없는 커밋을 대량으로 만드는 방식에 집중할 필요는 없습니다. 기여 그래프는 개발활동을 보여주는 여러 정보 중 하나일 뿐입니다. 프로젝트의 코드, README, 커밋 내용과 문제 해결과정처럼 실제 작업의 품질을 함께 관리하는 편이 좋습니다.

    초보자가 실수하기 쉬운 Git 사용법

    Git을 처음 사용할 때 가장 흔한 실수는 명령어를 외우기만 하고 현재 저장소 상태를 확인하지 않는 것입니다. 오류가 발생하면 인터넷에서 찾은 명령어를 차례대로 붙여 넣는 경우가 있는데, Git 명령은 현재 브랜치와 작업트리 상태에 따라 결과가 달라질 수 있습니다. 따라서 문제가 발생했을 때 가장 먼저 사용할 명령 중 하나가 git status입니다.

    두 번째는 커밋을 지나치게 크게 만드는 것입니다. 여러 기능을 한꺼번에 수정한 뒤 “수정함”이라는 메시지로 하나의 커밋을 만들면 나중에 변경이력을 확인하기 어렵습니다. 로그인 오류 수정, 버튼 디자인 변경, README 업데이트처럼 서로 다른 목적의 작업이라면 가능한 범위에서 논리적인 작업 단위로 나누는 편이 좋습니다.

    커밋 메시지도 중요합니다. “수정”, “테스트”, “asdf” 같은 메시지는 당장은 편하지만 몇 달 뒤에는 무엇을 변경했는지 알기 어렵습니다. 로그인 입력값 검증 추가, 모바일 메뉴 오류 수정, 설치 방법 문서 업데이트처럼 변경의 목적을 짧고 구체적으로 남기면 협업뿐 아니라 혼자 개발할 때도 도움이 됩니다.

    세 번째는 .env와 인증키 같은 비밀정보를 커밋하는 실수입니다. 프로젝트를 처음 만들 때부터 언어나 프레임워크에 맞는 .gitignore를 준비하고 커밋 전에 status를 확인해야 합니다. 이미 공개된 비밀정보를 나중에 삭제하는 것만으로는 위험을 없앴다고 볼 수 없습니다. 해당 키나 토큰을 폐기하고 새 자격증명을 발급한 뒤 필요하다면 저장소 이력 정리도 검토해야 합니다.

    네 번째는 협업 저장소에서 push가 실패했다고 무조건 강제 push를 사용하는 것입니다. force push는 원격 브랜치 이력에 영향을 줄 수 있으므로 공동 작업 중인 브랜치에서는 특히 주의해야 합니다. 먼저 원격 저장소에 새로운 커밋이 있는지 확인하고 pull이나 fetch, merge 또는 rebase가 필요한 상황인지 판단해야 합니다.

    실수문제좋은 습관
    상태 확인 생략원하지 않는 변경 포함git status 확인
    큰 커밋변경목적 파악 어려움논리적 작업 단위로 기록
    비밀정보 커밋보안 사고 가능성.gitignore와 환경변수 활용
    무분별한 강제 Push협업 이력 손상 가능원격 변경부터 확인

    💡 추천 습관: 명령을 실행하기 전후로 git status를 확인하고, 커밋 전에는 git diff 등을 이용해 어떤 내용을 변경했는지 검토해 보세요. Git 실력이 늘수록 명령어 개수보다 ‘현재 상태를 확인하고 다음 작업을 결정하는 습관’이 중요하다는 점을 체감하게 됩니다.

    깃허브 잔디와 명령어 Q&A

    Q 커밋만 하면 바로 깃허브 잔디가 생기나요?

    로컬 컴퓨터에서 커밋을 만들었다는 사실만으로 GitHub 프로필에 반드시 표시되는 것은 아닙니다. 해당 커밋이 GitHub 저장소에 존재해야 하며 커밋 이메일과 계정 연결, 저장소와 브랜치 등 GitHub의 기여 집계 조건을 충족해야 합니다.

    Q git add와 git commit은 무엇이 다른가요?

    git add는 변경된 파일 중 다음 커밋에 포함할 내용을 스테이징하는 과정이고, git commit은 스테이징된 변경사항을 하나의 변경이력으로 기록하는 과정입니다. 따라서 파일을 수정했다고 바로 commit되는 것이 아니며 add와 commit의 역할도 서로 다릅니다.

    Q git commit과 git push는 같은 작업인가요?

    다릅니다. commit은 로컬 Git 저장소에 변경이력을 만들고 push는 로컬에 만들어진 커밋을 GitHub 같은 원격 저장소로 전송합니다. GitHub에서 최신 변경내용이 보이지 않는다면 push 여부를 확인해 보세요.

    Q 하루에 커밋을 많이 할수록 개발 실력이 좋은 건가요?

    커밋 수만으로 개발 실력을 판단하기는 어렵습니다. 프로젝트 규모와 작업방식에 따라 적절한 커밋 빈도가 달라집니다. 단순히 숫자를 늘리는 것보다 변경목적이 명확한 커밋과 이해하기 쉬운 메시지를 남기는 것이 실무적으로 더 유용합니다.

    Q 비공개 저장소에서 작업해도 기여 기록을 표시할 수 있나요?

    GitHub 프로필에서는 비공개 기여를 표시하는 관련 설정을 제공할 수 있습니다. 이 경우에도 비공개 저장소의 코드나 민감한 내용 자체를 공개하는 것과 기여 활동을 표시하는 것은 구분됩니다. 조직 저장소라면 해당 조직의 정책도 함께 확인하는 것이 좋습니다.

    Git 작업 순서와 핵심 명령어 정리

    명령어역할
    git clone원격 저장소를 로컬 컴퓨터로 복제
    git init현재 프로젝트를 Git 저장소로 초기화
    git status현재 브랜치와 파일 변경상태 확인
    git diff변경된 내용을 비교하고 검토
    git add다음 커밋에 포함할 변경사항 스테이징
    git commit스테이징된 변경사항을 이력으로 기록
    git pull원격 변경을 가져와 현재 작업과 통합
    git push로컬 커밋을 원격 저장소로 전송
    git log지금까지 만들어진 커밋 이력을 확인

    깃허브 잔디를 제대로 이해하려면 단순히 초록색 칸을 늘리는 방법보다 Git의 작업흐름을 먼저 익히는 것이 좋습니다. 처음에는 git status → git add → git commit → git push 네 가지 명령을 중심으로 연습하세요. 여기에 기존 저장소를 가져오는 git clone, 원격 변경을 가져오는 git pull, 이력을 확인하는 git log를 차례대로 익히면 기본적인 개인 프로젝트 관리가 한결 쉬워집니다. 잔디가 표시되지 않는다면 무작정 커밋을 추가하지 말고 원격 저장소에 push됐는지, 커밋 이메일이 계정과 연결되는지, 어느 브랜치에 커밋했는지, 저장소 유형과 기여 집계 조건은 무엇인지를 순서대로 확인하는 것이 좋습니다. 결국 GitHub 프로필에서 가장 중요한 기록은 잔디의 개수 자체가 아니라 꾸준히 개선된 프로젝트와 설명 가능한 커밋 이력입니다.

    ※ GitHub의 Contributions 집계 조건, 인증방식, 프로필 설정과 인터페이스는 서비스 업데이트에 따라 달라질 수 있습니다. 실제 기여 기록이 표시되지 않는 경우 현재 계정의 이메일·저장소·브랜치 상태와 최신 GitHub 안내를 함께 확인하는 것이 좋습니다.