- Git
- 코드 변경점 기록 하는 도구
- 분산형 버전 관리
- 모든 개발자가 전체 코드의 복사본(리포지토리)을 소유
- 중앙 서버의 장애나 데이터 손실로부터 프로젝트를 보호
- 브랜칭과 병합
- 브랜치를 생성하고 병합하는 작업이 매우 빠르고 간편
- 양한 기능을 독립적으로 개발하고 나중에 하나로 병합
- 효율적인 코드 추적
- 각 파일의 변경 내역을 효율적으로 추적
- 언제 누가 무엇을 변경 알 수 있음
- 작업 복구
- 실수로 잘못된 변경을 하더라도 이전 상태로 쉽게 복구
- 분산 개발
- 네트워크의 속도나 가용성에 구애받지 않고 독립적으로 작업할 수 있는 환경을 제공
- 오픈 소스
- 오픈 소스 소프트웨어로, 누구나 무료로 사용
- Git의 기본 용어
- 리포지토리(Repository): 프로젝트의 파일과 변경 내역이 저장된 곳.
- 커밋(Commit): 파일의 변경 사항을 기록한 스냅샷.
- 브랜치(Branch): 독립적인 작업 흐름을 가능하게 하는 포인터.
- 머지(Merge): 서로 다른 브랜치의 변경 사항을 합치는 작업.
- 풀(Pull): 원격 리포지토리에서 변경 사항을 가져오는 작업.
- 푸시(Push): 로컬 리포지토리의 변경 사항을 원격 리포지토리에 업로드하는 작업.
- 클론(Clone): 원격 리포지토리를 복사하여 로컬에 생성하는 작업.
- 기본 명령어 예시
- git init: 새로운 Git 리포지토리를 초기화.
- git clone [URL]: 원격 리포지토리를 복제.
- git add [파일]: 변경된 파일을 스테이징 영역에 추가.
- git commit -m "메시지": 스테이징된 변경 사항을 커밋.
- git push: 로컬 커밋을 원격 리포지토리에 푸시.
- git pull: 원격 리포지토리의 변경 사항을 로컬로 가져옴.
- git branch: 현재 브랜치를 나열.
- git checkout [브랜치]: 다른 브랜치로 전환.
- git merge [브랜치]: 지정한 브랜치와 병합.
- Github
- 코드 저장소
- Git을 사용하는 프로젝트를 호스팅하는 웹 기반 서비스
- 주요 특징
- 호스팅된 리포지토리:
- 클라우드에서 Git 리포지토리를 호스팅
- 이를 통해 어디서든지 프로젝트에 접근
- 협업 도구:
- 여러 명의 개발자가 동시에 작업할 수 있도록 다양한 협업 도구를 제공
- 예를 들어, 풀 리퀘스트(Pull Request)와 이슈(Issue) 관리
- 코드 리뷰:
- 풀 리퀘스트를 통해 팀원들 간에 코드 변경 사항을 리뷰하고 피드백을 제공
- 이슈 트래킹:
- 버그, 기능 개선 요청 등을 추적하고 관리할 수 있는 이슈 트래킹 시스템
- 프로젝트 관리:
- 프로젝트의 작업 흐름을 관리할 수 있는 칸반 보드(Kanban Board)와 같은 도구를 제공
- 통합:
- 다양한 외부 도구와 통합
- 예를 들어, CI/CD 도구, 프로젝트 관리 도구, 커뮤니케이션 도구 등과 연동이 가능
- 오픈 소스 프로젝트:
- GitHub는 많은 오픈 소스 프로젝트를 호스팅
- 누구나 이러한 프로젝트에 기여
- GitHub Pages:
- 정적 웹사이트를 호스팅할 수 있는 기능
- 사용자나 프로젝트에 대한 쉬운 문서화
- 리포지토리(Repository): 프로젝트의 파일과 변경 내역이 저장된 곳.
- 이슈(Issue): 버그, 기능 요청, 일반 작업 등의 항목을 추적하기 위한 도구.
- 풀 리퀘스트(Pull Request): 코드 변경 사항을 리뷰하고 병합을 요청하는 도구.
- 포크(Fork): 다른 사용자의 리포지토리를 복제하여 자신의 계정에 새 리포지토리를 생성하는 것.
- 스타(Star): 관심 있는 리포지토리에 표시하는 것으로, 북마크와 비슷한 역할.
- 워치(Watch): 리포지토리에 대한 알림을 받기 위한 구독 기능.
- 리포지토리 생성:
- 새로운 프로젝트를 시작할 때 리포지토리를 생성
- 코드 푸시:
- 로컬에서 작업한 후 변경 사항을 GitHub에 푸시
- 이슈 생성 및 관리:
- 버그나 새로운 기능 요청 등을 이슈로 생성하고 추적
- 풀 리퀘스트 작성:
- 새로운 기능이나 버그 수정을 완료한 후, 이를 팀에 리뷰 요청
- 코드 리뷰 및 병합:
- 팀원들의 리뷰를 받고, 승인이 되면 코드를 병합
- 호스팅된 리포지토리:
- 문제점
- 교육중에 기본적으로 가상 환경을 설치 한 후 이후 코드를 작성하는 방식으로 진행 했었는데 이를 통하여 가상 환경 상태에서 git을 동작 시키려니 오류가 발생하면 git이 정상적으로 실해이 되지 않았음
- 그래서 vscode 랑 연동이 안 되어 있는지 알고 git을 재설치 시도
- 재설치 전에 새로운 프로젝트를 생성 한 후 가상 환경을 올리 않은 상태에서 git을 동작 시키니 정상적으로 동작 확인
- 이유는 잘 모르겠으나 가상환경 상태의 터미널에서는 git 명령어가 잘 안됨을 확인
- 이후 프로젝트 진행 한 코드 중 pip freeze 를 통하여 패키지화 한 후 해당 부분을 새로운 폴더 생성 하고 그쪽에 패키지한 것을 풀고 코드 실행하니 정상적으로 동작 됨을 확인
'기타' 카테고리의 다른 글
Git 강의 2 (0) | 2024.07.02 |
---|---|
VSCODE에서 venv 가 활성화가 안될 때 (0) | 2024.06.27 |
아티클 스터디(AI 시대에 필요한 개발자, Product Enginner) (0) | 2024.05.23 |
Python 톺아보기 (0) | 2024.05.22 |
AI 웹 개발 트랙을 선택한 이유 (0) | 2024.05.20 |