티스토리 뷰

목차



    반응형

     

    깃허브-사용법을-왈용하는-여성의-모습

     

    깃허브 계정 만들기, 레포지토리 생성, 데스크톱 설치와 코파일럿 사용법, 마크다운 작성법과 단축키 활용, 초보자를 위한 가이드를 살펴봅니다.

     

     

    깃허브 시작하기

     

    깃허브 계정 만들기

    깃허브를 사용하기 위해서는 먼저 계정을 만들어야 합니다.

     

    1. github.com 웹사이트에 접속합니다.

    2. 오른쪽 상단의 'Sign up' 버튼을 클릭합니다.

    3. 사용자 이름, 이메일 주소, 비밀번호를 입력합니다.

     

    • 사용자 이름은 향후 고용주나 동료들이 볼 수 있으니 신중히 선택하세요.
    • 이메일 주소도 공개될 수 있으니 주의가 필요합니다.
    4. 이메일 인증을 완료하면 계정 생성이 완료됩니다.

     

    보안을 위해 2단계 인증을 설정하는 것이 좋습니다. 계정 설정에서 이를 활성화할 수 있습니다.

     

    깃허브 레포지토리 생성

    계정을 만들었다면 이제 레포지토리를 만들어볼 차례입니다.

     

    1. 깃허브 대시보드에서 'New' 버튼을 클릭합니다.
    2. 레포지토리 이름을 입력합니다. 프로젝트의 성격을 잘 나타내는 이름이 좋습니다.
    3. 설명을 추가하고 공개/비공개 여부를 선택합니다.
    4. README 파일 생성 옵션을 체크하면 좋습니다. 이 파일에 프로젝트 소개를 작성할 수 있습니다.
    5. 'Create repository' 버튼을 클릭하여 완료합니다.
    레포지토리가 생성되면 주소가 표시됩니다. 이 주소는 나중에 로컬 저장소와 연결할 때 사용됩니다.

     

    깃허브 데스크톱 설치 및 사용법

    깃허브 데스크톱은 명령어 없이 GUI로 깃을 사용할 수 있게 해주는 도구입니다.

     

    1. github.com/desktop에서 GitHub Desktop을 다운로드합니다.
    2. 다운로드한 파일을 실행하여 설치합니다.
    3. 설치가 완료되면 GitHub Desktop을 실행합니다.
    4. GitHub 계정으로 로그인합니다.
    GitHub Desktop 사용법

     

    1. 'File' 메뉴에서 'Clone repository'를 선택하여 원격 저장소를 로컬에 복제할 수 있습니다.
    2. 변경사항이 생기면 왼쪽 패널에 표시됩니다.
    3. 변경 내용을 확인하고 커밋 메시지를 작성한 후 'Commit to main'을 클릭합니다.
    4. 'Push origin' 버튼을 클릭하여 변경사항을 원격 저장소에 반영합니다.

     

     

     

     

     

    깃허브 기본 기능

     

    깃허브 커밋하기

    커밋은 작업 내용을 저장하는 깃의 핵심 기능입니다.

     

    1. 먼저 변경사항을 스테이징 영역에 추가합니다.

     

    git add 파일명

     

    또는 모든 변경사항을 한 번에 추가하려면

     

    git add.

     

    2. 그다음 커밋을 생성합니다.

     

    git commit -m "커밋 메시지"

     

    커밋 메시지는 변경 내용을 간단명료하게 설명해야 합니다. "로그인 기능 추가" 같은 식으로 작성합니다.

     

    깃허브 푸시와 풀

    푸시는 로컬 변경사항을 원격 저장소에 업로드하는 것이고, 풀은 원격 저장소의 변경사항을 로컬로 가져오는 것입니다.

     

    1. 푸시하기

     

    git push origin 브랜치명

     

    2. 풀하기

     

    git pull origin 브랜치명

     

    팀 프로젝트에서는 작업 전후로 항상 풀을 해주는 것이 좋습니다. 이렇게 하면 충돌을 미리 방지할 수 있습니다.

     

    깃허브 브랜치 생성 및 관리

    브랜치는 독립적인 작업 공간을 만들어줍니다. 주로 새로운 기능 개발이나 버그 수정 시 사용합니다.

     

    1. 새 브랜치 생성

     

    git branch 브랜치명

     

    2. 브랜치 전환

     

    git checkout 브랜치명

     

    3. 브랜치 생성과 동시에 전환

     

    git checkout -b 브랜치명

     

    4. 브랜치 병합

     

    git merge 브랜치명

     

    브랜치 작업이 완료되면 주로 풀 리퀘스트를 통해 메인 브랜치에 병합합니다.

     

    깃허브 포크와 클론

    포크는 다른 사람의 저장소를 자신의 계정으로 복사하는 것이고, 클론은 원격 저장소를 로컬로 복사하는 것입니다.

     

    1. 포크 하기

    깃허브 웹사이트에서 원하는 저장소의 'Fork' 버튼을 클릭합니다.

    2. 클론 하기

     

    git clone 저장소 URL

     

    포크는 주로 오픈소스 프로젝트에 기여할 때 사용합니다. 포크 한 저장소를 클론 하여 로컬에서 작업한 후, 원본 저장소에 풀 리퀘스트를 보내는 방식으로 기여할 수 있습니다.

     

     

    깃허브로 협업하기

     

    깃허브 풀 리퀘스트 작성 및 관리

    풀 리퀘스트 (Pull Request, PR)는 자신의 코드 변경사항을 다른 사람들에게 검토받고 메인 브랜치에 병합하도록 요청하는 기능입니다.

     

    PR 작성하기

     

    1. 변경사항이 있는 브랜치를 푸시합니다.
    2. 깃허브 저장소 페이지에서 'Pull requests' 탭을 클릭합니다.
    3. 'New pull request' 버튼을 누릅니다.
    4. 베이스 브랜치와 비교할 브랜치를 선택합니다.
    5. 제목과 설명을 작성하고 'Create pull request'를 클릭합니다.

    PR 관리하기

     

    1. 리뷰어를 지정하여 코드 리뷰를 요청할 수 있습니다.
    2. 댓글을 통해 토론할 수 있습니다.
    3. 변경 요청이 있으면 추가 커밋을 푸시하여 PR을 업데이트합니다.
    4. 모든 검토가 끝나면 'Merge pull request'를 클릭하여 병합합니다.
    PR은 코드 품질을 높이고 팀원 간 지식 공유를 촉진하는 중요한 협업 도구입니다.

     

    깃허브 이슈 트래킹

    이슈 (Issue)는 프로젝트의 할 일, 버그, 개선사항 등을 관리하는 기능입니다.

     

    이슈 생성하기

     

    1. 저장소의 'Issues' 탭에서 'New issue' 버튼을 클릭합니다.
    2. 제목과 설명을 작성합니다.
    3. 라벨, 마일스톤, 담당자 등을 지정할 수 있습니다.
    4. 'Submit new issue'를 클릭하여 생성합니다.

    이슈 관리하기

     

    1. 댓글을 통해 토론할 수 있습니다.
    2. 상태를 변경하거나 다른 이슈와 연결할 수 있습니다.
    3. 작업이 완료되면 이슈를 닫습니다.
    이슈를 활용하면 프로젝트의 진행 상황을 한눈에 파악하고 효율적으로 작업을 분배할 수 있습니다.

     

    깃허브 프로젝트 보드 활용

    프로젝트 보드는 칸반 보드 형식으로 작업을 시각화하고 관리하는 도구입니다.

     

    프로젝트 보드 생성하기

     

    1. 저장소의 'Projects' 탭에서 'New project'를 클릭합니다.
    2. 템플릿을 선택하거나 빈 보드로 시작할 수 있습니다.
    3. 프로젝트 이름과 설명을 입력하고 생성합니다.

    프로젝트 보드 사용하기

     

    1. 칼럼을 추가하여 작업 단계를 구분합니다 (예: To Do, In Progress, Done).
    2. 카드를 생성하여 각 작업을 표현합니다.
    3. 이슈나 PR을 카드로 추가할 수 있습니다.
    4. 카드를 드래그 앤 드롭으로 이동하며 진행 상황을 업데이트합니다.
    프로젝트 보드를 통해 팀의 작업 흐름을 시각화하고 효율적으로 관리할 수 있습니다.

     

    이렇게 깃허브의 협업 기능들에 대해 알아보았습니다. 이 기능들을 잘 활용하면 팀 프로젝트의 효율성과 투명성을 크게 높일 수 있습니다. 처음에는 익숙하지 않을 수 있지만, 실제 프로젝트에 적용해 보면서 점차 익숙해지실 수 있습니다.

    협업 과정에서 가장 중요한 것은 원활한 의사소통입니다. 풀 리퀘스트나 이슈에 상세한 설명을 작성하고, 팀원들과 적극적으로 소통하는 것이 좋습니다.

    또한, 정기적으로 프로젝트 보드를 업데이트하여 모든 팀원이 현재 상황을 파악할 수 있도록 하는 것도 중요합니다.

     

     

     

     

     

    깃허브 고급 기능

     

    깃허브 액션 워크플로우 만들기

    깃허브 액션은 코드 저장소에서 발생하는 이벤트에 반응하여 자동으로 작업을 수행할 수 있게 해주는 강력한 도구입니다.

     

    1. 먼저 저장소의 루트 디렉터리에 '. github/workflows' 폴더를 만듭니다.

    2. 이 폴더 안에 'your-workflow.yml' 파일을 생성합니다. 파일 이름은 자유롭게 정할 수 있습니다.

    3.YAML 파일에 워크플로우를 정의합니다. 예를 들어

     

    name: CI
    on: [push]
    jobs:
       build:
         runs-on: ubuntu-latest
         steps:
         - uses: actions/checkout@v2
         - name: Run a one-line script
         run: echo Hello, world!

     

    이 워크플로우는 코드가 푸시될 때마다 "Hello, world!"를 출력합니다.

    워크플로우를 저장하고 푸시하면 자동으로 실행됩니다. 'Actions' 탭에서 실행 결과를 확인할 수 있습니다.

     

    깃허브 페이지로 웹사이트 호스팅

    깃허브 페이지는 무료로 정적 웹사이트를 호스팅 할 수 있게 해주는 서비스입니다.

     

    1. 저장소 설정에서 'Pages' 섹션으로 이동합니다.

    2. 'Source' 드롭다운에서 'main' 브랜치를 선택합니다.

    3. 루트 디렉터리에 'index.html' 파일을 생성합니다.

    4. HTML 파일에 원하는 내용을 작성합니다. 예를 들어

     

    <! DOCTYPE html>
    <html>
    <body>
    <h1> Hello World </h1>
    <p> I'm hosted with GitHub Pages. </p>
    </body>
    </html>

     

    5. 변경사항을 커밋하고 푸시합니다.

     

    이제 'https://username.github.io/repository-name'에서 웹사이트를 확인할 수 있습니다.

     

    깃허브 코파일럿 사용법

    깃허브 코파일럿은 AI를 활용한 코드 자동 완성 도구입니다.

     

    1. 먼저 깃허브 코파일럿 구독이 필요합니다. 학생이나 교사는 무료로 사용할 수 있습니다.
    2. VS Code나 IntelliJ IDEA 같은 지원되는 IDE에 코파일럿 확장 프로그램을 설치합니다.
    3. IDE에서 코드를 작성하기 시작하면 코파일럿이 자동으로 코드 제안을 합니다.
    4. 제안된 코드를 수락하려면 Tab 키를 누릅니다.
    5. 특정 기능에 대한 코드를 생성하고 싶다면, 주석으로 원하는 기능을 설명하세요.
    코파일럿은 매우 강력한 도구이지만, 제안된 코드를 항상 검토하고 필요에 따라 수정해야 합니다. 저작권 문제나 보안 문제가 있을 수 있으니 주의가 필요합니다.

     

     

    깃허브 보안과 관리

     

    깃허브 보안 설정

    깃허브 보안 설정은 프로젝트와 계정을 안전하게 보호하는 데 필수적입니다.

     

    1. 2단계 인증(2FA) 설정

     

    • 깃허브 설정 페이지에서 'Security' 섹션으로 이동합니다.
    • 'Two-factor authentication'을 클릭하고 지시에 따라 설정합니다.
    • SMS나 인증 앱을 통해 2FA를 설정할 수 있습니다.
    2. 의존성 취약점 알림 설정

     

    • 저장소 설정의 'Security & analysis' 섹션에서 'Dependabot alerts'를 활성화합니다.
    • 이를 통해 프로젝트의 의존성에서 발견된 보안 취약점을 자동으로 알려줍니다.
    3. 코드 스캐닝 설정

     

    • 같은 섹션에서 'Code scanning'을 활성화합니다.
    • 코드의 잠재적인 보안 문제를 자동으로 검사해 줍니다.
    이러한 설정들을 통해 프로젝트의 보안을 크게 강화할 수 있습니다.

     

    깃허브 저장소 권한 관리

    저장소 권한 관리는 협업 시 매우 중요합니다. 각 팀원에게 적절한 권한을 부여하여 프로젝트를 안전하게 관리할 수 있습니다.

     

    1. 협력자 추가

     

    • 저장소 설정의 'Manage access' 섹션으로 이동합니다.
    • 'Invite a collaborator' 버튼을 클릭하고 사용자 이름이나 이메일을 입력합니다.
    • 권한 수준을 선택합니다 (Read, Triage, Write, Maintain, Admin).

    2. 팀 권한 설정

     

    • 조직 저장소의 경우, 팀 단위로 권한을 부여할 수 있습니다.
    • 'Manage access'에서 팀을 추가하고 권한 수준을 설정합니다.

    3. 브랜치 보호 규칙 설정

     

    • 'Branches' 섹션에서 'Add rule' 버튼을 클릭합니다.
    • 보호할 브랜치 패턴을 입력하고 필요한 규칙을 설정합니다.
    • 풀 리퀘스트 없이는 직접 푸시를 금지하거나, 리뷰 승인을 필수로 설정할 수 있습니다.
    이러한 설정을 통해 프로젝트의 무결성을 유지하고 실수로 인한 문제를 방지할 수 있습니다.

     

    깃허브 시크릿과 환경 변수 설정

    민감한 정보를 안전하게 관리하기 위해 깃허브는 시크릿과 환경 변수 기능을 제공합니다.

     

    1. 시크릿 설정

     

    • 저장소 설정의 'Secrets and variables' 섹션으로 이동합니다.
    • 'New repository secret' 버튼을 클릭합니다.
    • 시크릿의 이름과 값을 입력합니다. API 키나 비밀번호를 저장할 수 있습니다.

    2. 환경 변수 설정

     

    • 같은 섹션에서 'Variables' 탭으로 이동합니다.
    • 'New repository variable' 버튼을 클릭하고 변수 이름과 값을 입력합니다.

    3. 깃허브 액션에서 사용

     

    • 워크플로우 파일에서 다음과 같이 시크릿과 변수를 사용할 수 있습니다.

     

    steps:
      - name: Use secret
        env:
          SUPER_SECRET: ${{ secrets.SUPER_SECRET }}
      - name: Use variable
        env:
          VARIABLE_NAME: ${{ vars.VARIABLE_NAME }}

     

    이렇게 설정된 시크릿과 변수는 깃허브 액션에서 안전하게 사용할 수 있으며, 저장소 히스토리나 로그에 노출되지 않습니다.

     

     

     

     

     

    깃허브 팁과 트릭

     

    깃허브 마크다운 작성법

    깃허브에서 README 파일이나 이슈, 풀 리퀘스트 등을 작성할 때 마크다운을 사용합니다. 마크다운은 간단한 문법으로 텍스트를 꾸밀 수 있는 방법입니다.

     

    1. 제목 작성하기

    '#'을 사용하여 제목을 만들 수 있습니다. '#'의 개수에 따라 크기가 달라집니다. text

     

    # 가장 큰 제목
    ## 두 번째로 큰 제목
    ### 번째로 제목

     

    2. 강조하기

    '*'나 '_'를 사용하여 텍스트를 강조할 수 있습니다.

     

    *기울임체* 또는 _기울임체_
    **굵은 글씨** 또는 __굵은 글씨__

     

    3. 목록 만들기

    '-', '*', '+'를 사용하여 순서 없는 목록을, 숫자를 사용하여 순서 있는 목록을 만들 수 있습니다.

     

    - 항목 1
    - 항목 2
      - 하위 항목

    1. 첫 번째
    2. 번째

     

    4. 링크 삽입하기

     

    [링크 텍스트](URL)

     

    5. 이미지 삽입하기

     

    ! [대체 텍스트](이미지 URL)

     

    이러한 기본적인 문법만 알아도 깔끔하고 가독성 좋은 문서를 작성할 수 있습니다.

     

    깃허브 단축키 활용

    깃허브에는 작업 효율을 높여주는 여러 단축키가 있습니다. 자주 사용하는 몇 가지를 소개해 드리겠습니다.

     

    'T' : 파일 검색

    저장소 내에서 파일을 빠르게 찾을 수 있습니다.

     

    'L' : 특정 줄로 이동

    코드 파일을 볼 때 특정 줄 번호로 빠르게 이동할 수 있습니다.

     

    'B' : 파일 히스토리 보기

    현재 파일의 변경 이력을 볼 수 있습니다.

     

    'W' : 브랜치 전환

    다른 브랜치로 빠르게 이동할 수 있습니다.

     

    '?' : 단축키 목록 보기

    사용 가능한 모든 단축키 목록을 볼 수 있습니다.

     

    이러한 단축키들을 익혀두면 마우스 사용을 줄이고 작업 속도를 높일 수 있습니다.

     

    깃허브 통계와 인사이트 분석

    깃허브는 프로젝트와 개인 활동에 대한 다양한 통계와 인사이트를 제공합니다. 이를 활용하면 프로젝트의 현황을 파악하고 개선점을 찾는 데 도움이 됩니다.

     

    커밋 활동

    'Insights' 탭의 'Contributors' 섹션에서 각 기여자의 커밋 횟수와 추가/삭제된 라인 수를 확인할 수 있습니다.

     

    트래픽

    'Insights' 탭의 'Traffic' 섹션에서 저장소 방문자 수, 클론 횟수 등을 볼 수 있습니다.

     

    코드 주파수

    'Insights' 탭의 'Code frequency' 섹션에서 시간에 따른 코드 추가/삭제 추이를 그래프로 확인할 수 있습니다.

     

    풀 리퀘스트

    'Insights' 탭의 'Pull requests' 섹션에서 풀 리퀘스트의 개수, 병합 시간 등의 통계를 볼 수 있습니다.

     

    개인 기여도

    프로필 페이지에서 잔디 그래프(Contribution graph)를 통해 개인의 활동 빈도를 한눈에 볼 수 있습니다.

     

    이러한 통계와 인사이트를 주기적으로 확인하면 프로젝트의 건강 상태를 파악하고, 개인의 성장을 추적하는 데 도움이 됩니다.

     

     

    깃허브 사용법 FAQ

     

    Q : 깃허브란 무엇인가요?

    깃허브는 개발자들을 위한 코드 저장소이자 협업 플랫폼입니다. 여러분이 팀 프로젝트를 진행한다고 생각해 보세요. 깃허브를 사용하면 각자 작성한 코드를 한 곳에 모아 관리하고, 변경 사항을 쉽게 추적할 수 있습니다.

     

    Q : 깃과 깃허브의 차이점은 무엇인가요?

    깃은 버전 관리 시스템이고, 깃허브는 깃을 사용하는 온라인 플랫폼입니다. 깃이 여러분의 로컬 컴퓨터에서 코드 버전을 관리한다면, 깃허브는 이를 온라인에서 할 수 있습니다.

     

    Q : 깃허브 계정은 어떻게 만드나요?

    github.com에 접속하여 'Sign up' 버튼을 클릭하고 필요한 정보를 입력하면 됩니다. 이메일 주소, 사용자 이름, 비밀번호만 있으면 쉽게 계정을 만들 수 있습니다.

     

    Q : 리포지토리란 무엇인가요?

    리포지토리는 프로젝트의 모든 파일과 각 파일의 수정 기록을 담고 있는 저장소입니다. 책장을 떠올려보세요. 각 책이 하나의 프로젝트라면, 책장 전체가 리포지토리라고 할 수 있습니다.

     

    Q : 커밋은 어떻게 하나요?

    커밋은 변경사항을 저장하는 작업입니다. 로컬에서 작업 후 'git add.' 명령어로 변경사항을 스테이징 영역에 추가하고, 'git commit -m "메시지"' 명령어로 커밋합니다. 요리를 하면서 중간중간 맛을 보고 조미료를 추가하는 것과 비슷하다고 생각하면 됩니다.

     

    Q : 푸시와 풀의 차이점은 무엇인가요?

    푸시는 로컬의 변경사항을 원격 저장소에 업로드하는 것이고, 풀은 원격 저장소의 변경사항을 로컬로 가져오는 것입니다. 푸시는 여러분이 작성한 편지를 우체통에 넣는 것, 풀은 우체통에서 편지를 꺼내는 것과 비슷합니다.

     

    Q : 브랜치는 왜 사용하나요?

    브랜치는 독립적인 작업 공간을 만들 때 사용합니다. 웹사이트에 새로운 기능을 추가하고 싶다면 'feature' 브랜치를 만들어 작업할 수 있습니다. 이렇게 하면 메인 프로젝트에 영향을 주지 않고 안전하게 개발할 수 있습니다.

     

    Q : 풀 리퀘스트는 무엇인가요?

    풀 리퀘스트는 여러분이 작업한 내용을 프로젝트의 메인 브랜치에 병합해 달라고 요청하는 것입니다. 팀 프로젝트에서 여러분이 맡은 부분을 완성하고 팀장에게 검토를 요청하는 것과 비슷합니다.

     

    Q : 깃허브 페이지는 어떻게 만드나요?

    깃허브 페이지는 깃허브에서 제공하는 무료 웹 호스팅 서비스입니다. 리포지토리 설정에서 'Pages' 섹션으로 이동하여 소스 브랜치를 선택하면 됩니다. 개인 블로그나 프로젝트 소개 페이지를 만들 때 유용합니다.

     

    Q : 깃허브 액션은 무엇인가요?

    깃허브 액션은 코드 저장소에서 발생하는 이벤트에 반응하여 자동으로 작업을 수행하는 도구입니다. 새로운 코드가 푸시될 때마다 자동으로 테스트를 실행하거나 배포를 진행할 수 있습니다. 마치 똑똑한 비서가 여러분 대신 반복적인 작업을 처리해 주는 것과 같습니다.

     

     

     

    반응형