데이터 분석가:Applied Data Analytics/용어편

GitHub란

데이터분석 2025. 1. 6. 16:18

GitHub : 코드 버전 관리를 위한 강력한 플랫폼으로 오픈 소스 공유와 팀 협업에 최적화 되어 있다

GitHub 사이트의 활동으로 잔디밭을 표현해주는데 1일 1커밋을 꾸준히 지속한다면 예쁜 잔디밭을 진하기별로 나타내줍니다.

 

GitHub의 마스코트로 옥토켓이라고 문어(Octopus)와 고양이(Cat)의 특징을 결합한 캐릭터이다.

[옥토캣(출처:  https://github.com/logos)]

  • Git : 개발을 진행하며 작성하는 소스코드가 업데이트 되는 버전을 기록해두고 관리할 수 있는 소스코드 버전 관리 시스템.
  • GitHub : Git으로 관리하는 프로젝트를 호스팅하고, 시간과 공간의 제약 없이 협업할 수 있는 온라인 서비스.
  • 즉, 로컬(Local)에서 작업한 내용을 Git이 저장해 두었다면, 그 기록을 온라인 작업공간인 GitHub에 올려 원격(Remote)으로도 작업할 수 있게 해준다.
  • Github(https://github.com/)에서 가입후 사용해보자.  가입시  Username은 GitHub 페이지의 도메인 주소가 된다.
  • git config --global user.email "my-email@gmail.com"
    $ git config --global user.name "my-username"

Git과 GitHub을 연결하는 과정이며, 자신의 email 주소와 username으로 변경해서 입력

root@wbq54vggso1y82avjs5c4p3a2-7bf7d9b4c4-xndkf:~/workplace# git init
Initialized empty Git repository in /aiffel/workplace/.git/


root@wbq54vggso1y82avjs5c4p3a2-7bf7d9b4c4-xndkf:~/workplace# ls -a
.  ..  .git
root@wbq54vggso1y82avjs5c4p3a2-7bf7d9b4c4-xndkf:~/workplace# cd .git
root@wbq54vggso1y82avjs5c4p3a2-7bf7d9b4c4-xndkf:~/workplace/.git# ls
branches  config  description  HEAD  hooks  info  objects  refs
이 뜻은 git init workplace라는 디렉토리를 새로운 Git 로컬 저장소로 만들었다는 뜻으로, 모든 Git 로컬 저장소는 .git이라는 디렉토리를 가지고 있습니다.

 

Tensorflow 오픈소스 코드가 올라와있는 GitHub 레파지토리를 구경하러 가보죠. tensorflow/tensorflow 다음 이미지와 같은 README.md 파일

 

root@wbq54vggso1y82avjs5c4p3a2-7bf7d9b4c4-xndkf:~# cd workplace
root@wbq54vggso1y82avjs5c4p3a2-7bf7d9b4c4-xndkf:~/workplace# ls
root@wbq54vggso1y82avjs5c4p3a2-7bf7d9b4c4-xndkf:~/workplace# echo "# first-repository" >> README.md
root@wbq54vggso1y82avjs5c4p3a2-7bf7d9b4c4-xndkf:~/workplace# ls
README.md
root@wbq54vggso1y82avjs5c4p3a2-7bf7d9b4c4-xndkf:~/workplace# cat Readme.md
cat: Readme.md: No such file or directory
root@wbq54vggso1y82avjs5c4p3a2-7bf7d9b4c4-xndkf:~/workplace# ls
README.md
root@wbq54vggso1y82avjs5c4p3a2-7bf7d9b4c4-xndkf:~/workplace# cat README.md
# first-repository

 

root@wbq54vggso1y82avjs5c4p3a2-7bf7d9b4c4-xndkf:~/workplace# git status
On branch master

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        README.md

nothing added to commit but untracked files present (use "git add" to track)

add와 commit의 개념

git 에서 파일의 변경 사항을 저장소에 반영하는 과정 아래 3가지 개념.

  • Working Directory: 파일을 수정하는 작업 공간입니다.
  • Index (Staging Area): commit 할 파일들을 준비하는 공간
  • HEAD: 브랜치의 최신 커밋을 가리키는 포인터

git add

  • 변화를 기록하는 준비단계. 작업 디렉토리(Working Directory)에서 변경된 파일을 스테이징 영역(Staging Area)에 추가하는 명령어.

git commit

  • 특정 순간의 버전을 스냅샷으로 확정하여 남김.
  • 스테이징된 변경 사항을 로컬 저장소(Local Repository)에 저장하는 명령어

토큰 생성

repo, admin:repe_hook, delete_repo 이렇게 3가지를 체크

 

아래로 쭉 내려서, Generate token  한다.

git branch

작업 중인 프로젝트에서 새로운 기능을 개발하거나, 버그를 수정할 때 사용하는 독립적인 작업 공간으로 메인 프로젝트에 영향을 주지 않고 안전하게 작업할 수 있음

 

$ git push origin main

username :  Password: (토큰의 정보를 복사하여 ^ + shift + v 로 붙여넣으면 된다)

※ git config credential.helper store
credential.helper의 store 옵션을 주게되면 해당 git directory에선 반영구적으로 인증 절차가 생략됩니다.(저장된 credential 정보를 이용해 인증 처리)

원격 저장소, 레파지토리로 가서 보면 추가되어있는걸 볼수 있다.

 

작업 및 프로젝트 관리에 도움을 주는 앱

  • Trello
    칸반 스타일의 작업 관리 도구로, 팀 협업과 개인 작업 관리를 체계적으로 할 수 있음.
  • Jira
    애자일 소프트웨어 개발을 위한 최고의 도구로, 이슈 추적 및 스프린트 관리를 지원.
  • Notion
    문서 작성, 작업 관리, 데이터베이스 통합 등 다양한 기능을 제공하는 올인원 도구.
  • ClickUp
    프로젝트 관리, 일정 추적, 문서 작성 등 모든 생산성 기능이 하나로 통합된 도구

 

집중력 및 시간 관리

  • RescueTime
    하루 동안 컴퓨터와 앱 사용 시간을 분석해 생산성을 높이는 데 도움을 줌.
  • Toggl Track
    작업 시간 추적 도구로, 개발 프로젝트의 작업 시간을 측정하고 효율적으로 관리.
  • Pomodone
    포모도로 타이머를 활용한 작업 시간 관리 앱. 기존 작업 관리 앱과 연동 가능.
  • Forest
    집중 시간을 기록하고 가상의 나무를 키우는 독특한 앱. 집중력을 유지하는 데 유용.

 

협업 및 커뮤니케이션

  • Slack
    개발자와 팀원 간 빠르고 효율적인 커뮤니케이션 도구.
  • Discord (Dev Communities)
    개발자 커뮤니티와의 실시간 협업 및 소통을 위한 채팅 도구.
  • Figma
    UI/UX 디자이너와 협업이 필요한 경우 실시간으로 디자인 작업 및 피드백 제공.
  • Miro
    원격 팀 브레인스토밍과 협업을 위한 디지털 화이트보드 도구.

 

문서화 및 참고 관리

  • Obsidian
    Markdown 기반의 노트 작성 도구로, 개발 관련 참고 자료 정리와 지식 관리에 유용.
  • Dash
    API 문서 및 코드 스니펫을 관리할 수 있는 앱. 오프라인에서도 참고 가능.
  • ReadMe
    API 문서화 및 팀 간 문서 협업을 위한 도구.