안녕하세요 가야태자 @talkit 입니다.
다음에 작성하려고하는 글이 제가 집에서 운영하고 있는 여러가지 솔루션을 Oracle 클라우드로 옮기려고 하고 있기 때문에 먼저 설명하고 넘어 가야 할 것도 같고 지난 번 포스팅 큐레이션에서 못다한 이야기도 있고 해서 설명을 드리기 위해서 잠시 클라우드 이야기는 일시정지하고, 버전 관리 이야기를 진행 하겠습니다.
git 이란 무엇인가?
Git은 개발자들이 소스 코드와 파일의 버전을 관리하고 협업하는 데 사용하는 분산 버전 관리 시스템입니다. 주로 소프트웨어 개발에서 사용되지만, 문서나 다른 프로젝트 파일의 버전 관리에도 사용할 수 있습니다.
Git의 주요 기능
버전 관리
- 프로젝트의 변경 기록(히스토리)을 저장하고, 이전 버전으로 쉽게 되돌릴 수 있습니다.
- 어떤 파일이 언제, 누가, 어떻게 변경되었는지 추적할 수 있습니다.
분산 시스템
- 로컬 컴퓨터에서도 전체 저장소를 복제하고 작업할 수 있어 네트워크가 없더라도 작업이 가능합니다.
- 중앙 서버 없이도 개발자 간 협업이 가능합니다.
브랜치 관리
- 독립적인 작업 공간(브랜치)을 만들어 다른 작업에 영향을 주지 않고 개발할 수 있습니다.
- 여러 브랜치를 병합(Merge)하거나 충돌을 해결하여 팀 협업이 용이합니다.
협업 도구
- 여러 개발자가 동시에 작업하고, 변경 사항을 통합할 수 있는 강력한 도구입니다.
- GitHub, GitLab, Bitbucket 같은 플랫폼과 연동되어 전 세계 개발자들이 효율적으로 협업할 수 있습니다.
Git의 기본 개념
저장소(Repository)
- 프로젝트를 관리하는 기본 단위. 프로젝트 파일과 변경 기록이 저장됩니다.
커밋(Commit)
- 변경 사항을 저장소에 기록하는 작업. 변경 사항에 대해 메시지를 작성하여 기록을 남깁니다.
브랜치(Branch)
- 작업 영역을 나누는 도구. 예를 들어, 새로운 기능 개발을 위해 별도의 브랜치를 생성하여 메인 프로젝트에 영향을 주지 않고 작업할 수 있습니다.
머지(Merge)
- 브랜치를 병합하는 작업. 예를 들어, 새로운 기능이 완성되면 메인 브랜치에 합칠 수 있습니다.
푸시(Push)와 풀(Pull)
- Push: 로컬에서 작업한 변경 사항을 원격 저장소에 업로드합니다.
- Pull: 원격 저장소의 최신 변경 사항을 로컬로 가져옵니다.
Git을 사용하는 이유
- 팀 협업: 여러 명이 동시에 작업해도 충돌을 최소화할 수 있습니다.
- 히스토리 관리: 변경 사항을 추적하여 문제 발생 시 쉽게 복구할 수 있습니다.
- 분산 구조: 로컬에서도 독립적으로 작업 가능하며, 네트워크 문제가 있더라도 영향이 적습니다.
- 오픈소스와 통합: 많은 오픈소스 프로젝트에서 Git을 기본으로 사용하며, GitHub 등의 플랫폼과 함께 사용됩니다.
Git 기본 명령어
저장소 초기화
git init
파일 추가
git add <파일명> # 특정 파일 추가 git add . # 모든 변경 사항 추가
변경 사항 저장(커밋)
git commit -m "커밋 메시지"
원격 저장소 추가
git remote add origin <원격 저장소 URL>
원격 저장소로 푸시
git push origin <브랜치명>
원격 저장소에서 가져오기
git pull origin <브랜치명>
Git 사용 사례
- 개발 팀 프로젝트 관리: 팀원이 각자 기능을 개발하고 병합하여 하나의 프로젝트를 완성.
- 오픈소스 기여: GitHub에서 프로젝트를 포크하고 변경 사항을 PR(Pull Request)로 제출.
- 파일 버전 관리: 코드뿐만 아니라 문서, 구성 파일 등의 버전 관리.
ChatGPT에게 물어보니 위와 같이 알려 줍니다.
오 기본적인 git의 사용법까지 모두 잘 알려주네요.
부연 설명을 조금 하고 마치도록 하겠습니다.
git을 사용하는 이유
개발자별로 또는 팀별로 브랜치를 가지고, 해당 브랜치를 마스터 브랜치로 통합해 가면서, CI/CD를 지속적으로 진행 하고 있습니다.
이러한 문제로 요즘 조그만 사이드 프로젝트를 시작하려고 하는데 git을 사용하기로 했습니다.
그래서 git에 대해서 설명 드렸습니다.
내일은 대표적은 git 클라우드인 github vs gitlab 에 대해서 검토를 진행해보겠습니다.
즐거운 주말 되십시오.
감사합니다.
Posted through the ECblog app (https://blog.etain.club)
[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit