[github] git 위치, issue

밥슌·2024년 8월 4일

🐈‍⬛github

목록 보기
2/12

✅ 간단한 개념 요약

각 개념의 역할과 위치

  1. 워크스페이스 (Work Space)
    • 위치: 내 컴퓨터의 작업 디렉토리.
    • 역할: 실제로 코드 파일을 작성하고 수정하는 작업 영역입니다. 예를 들어, 프로젝트 폴더 안에 있는 모든 파일이 워크스페이스에 해당합니다.
  2. 인덱스 (Index)
    • 위치: 내 컴퓨터의 Git 내부 영역.
    • 역할: 스테이징 영역이라고도 하며, 커밋할 파일의 목록을 준비하는 장소입니다. git add 명령어로 파일을 인덱스에 추가하여, 어떤 파일이 커밋될지 지정합니다.
  3. 로컬 저장소 (Local Repository)
    • 위치: 내 컴퓨터의 Git 저장소 디렉토리 (.git 폴더).
    • 역할: 모든 커밋 히스토리가 저장되는 곳입니다. 로컬에서 작업한 변경 사항을 기록하고 관리합니다. git commit 명령어로 인덱스에 있는 파일들을 커밋하여 로컬 저장소에 저장합니다.
  4. 원격 저장소 (Remote Repository)
    • 위치: GitHub와 같은 원격 서버.
    • 역할: 협업을 위해 로컬 저장소의 커밋을 다른 사람과 공유하는 곳입니다. git push 명령어로 로컬 저장소의 커밋을 원격 저장소로 전송합니다. 반대로, git pull 명령어로 원격 저장소의 변경 사항을 로컬로 가져올 수 있습니다.

Git의 작동 방식 요약

  1. 작업 및 수정: 워크스페이스에서 파일을 수정합니다.
  2. 스테이징: 수정한 파일을 인덱스에 추가합니다 (git add).
  3. 커밋: 인덱스에 있는 파일을 로컬 저장소에 저장합니다 (git commit).
  4. 푸시: 로컬 저장소의 커밋을 원격 저장소로 전송합니다 (git push).
  5. : 원격 저장소의 커밋을 로컬 저장소로 가져옵니다 (git pull).

비유를 통한 설명

  • 워크스페이스 (Work Space): 책상 위에 펼쳐진 작업 공간. 여기서 문서를 작성하고 수정합니다.
  • 인덱스 (Index): 서류철에 넣기 전에 책상 위에 잠시 모아두는 공간. 어떤 문서를 서류철에 넣을지 결정합니다.
  • 로컬 저장소 (Local Repository): 내 책상 서랍에 있는 서류철. 모든 문서의 사본이 여기 보관됩니다.
  • 원격 저장소 (Remote Repository): 사무실의 중앙 문서 보관소. 여러 사람이 접근할 수 있도록 문서를 공유합니다.

예시 명령어

  1. 파일 수정

    echo "Hello, Git!" > hello.txt
    
  2. 파일 상태 확인

    git status
    
  3. 파일 스테이징

    git add hello.txt
    
  4. 커밋

    git commit -m "Add hello.txt with greeting message"
    
  5. 푸시

    git push origin main
    
  6. git pull origin main
    

정리

  • 워크스페이스: 내 컴퓨터에서 실제로 작업하는 공간.
  • 인덱스: 커밋할 파일을 준비하는 스테이징 영역.
  • 로컬 저장소: 내 컴퓨터의 Git 저장소.
  • 원격 저장소: GitHub와 같은 원격 서버의 저장소.

1. 이슈 정의하기

대부분의 오픈소스를 보면 Issue는 앱 실행 도중 발생하는 문제나 제안을 적는 공간입니다. 하지만 개인 프로젝트를 할때에는 Todo List를 적는 공간으로도 사용할 수 있습니다. 추가로 Issue와 Pull Request는 마크다운으로 스타일링이 가능하여 깔끔하게 볼 수 있습니다.

이슈 정의 예시입니다

이슈를 적는 곳 오른쪽에는 작성자 태그, 라벨 선택, 그리고 Pull Request와 연동할 수 있는 칸이 있습니다.

Assignees: 써있는 그대로 본인을 태그하면 됩니다.

Labels: documentation, bug, enhancement등 이슈내용에 맞는 라벨을 선택하면 됩니다.

Projects: 협업을 여러명이서 할 때 organization을 만들어 Project에서 일정을 관리할 수 있는데 그때 연동할 수 있습니다.

Milestone: 사용해본 적이 없으므로 생략하겠습니다.

Development: 특정 Pull Request와 연동할 수 있으며, 연동시 Pull Request가 머지 되어 닫히게 되면 해당 Issue도 자동으로 닫힙니다.

Submit new issue를 하면 Issues에 열립니다.

이제 본인이 작성한 대로 작업을 진행하면서 완료된 task는 체크를 해나가면 됩니다.

<라벨 종류>

  • bug - 버그를 나타냄
  • documentation - 문서 개선 또는 추가가 필요함을 나타냄
  • duplicate - 유사한 이슈, PR, 디스커션임을 나타냄
  • enhancement - 새기능 추가 요청을 나타냄
  • good first issue - 처음 기여하려는 사람이 쉽게 해결 가능한 이슈임을 나타냄
  • help wanted - 관리자의 의 도움을 원하는 이슈 혹은 PR임을 나타냄
  • invalid - 이슈, PR, 디스커션이 더이상 관련이 없음을 나타냄
  • question - 이슈, PR, 디스커션에 추가 정보가 필요함을 나타냄
  • wontfix - 이슈, PR, 디스커션에대한 작업이 계속되지 않음을 나타냄
profile
마트 시식코너같은 저의 벨로그에 어서오세요.

0개의 댓글