목록Git (16)
내 잡다한 노트
GitHub에서 사용하는 라이센스는 오픈 소스 소프트웨어의 사용, 수정, 배포 조건을 명시하는 중요한 요소입니다. 적절한 라이선스를 선택하면 프로젝트의 권리를 보호하면서도 다른 개발자들이 코드를 활용할 수 있도록 할 수 있습니다. 아래는 GitHub에서 자주 사용되는 주요 라이선스들에 대한 설명입니다.1. MIT 라이선스특징:매우 간단하고 관대한 라이선스.소프트웨어를 자유롭게 사용, 복사, 수정, 병합, 배포, 재라이선스할 수 있습니다.원저작권 및 라이선스 고지를 포함해야 합니다.장점:사용과 배포에 대한 제한이 적어 많은 프로젝트에서 선호됩니다.상업적 용도로도 자유롭게 사용할 수 있습니다.단점:코드의 변경 사항을 공개할 의무가 없어, 수정된 코드를 폐쇄적으로 사용할 수 있습니다.2. Apache Lice..
Git Flow 전략은 제외합니다. 최근에 포스팅을 했기 때문에. 1. GitHub FlowGitHub Flow는 단순하고 가벼운 브랜치 전략으로, 지속적 배포(Continuous Deployment)에 적합합니다.특징main 브랜치만 존재하며, 항상 배포 가능한 상태를 유지.모든 작업은 feature 브랜치에서 이루어지고, 작업 완료 후 main에 병합.병합 시 코드 리뷰와 자동화된 테스트를 반드시 수행.흐름main에서 feature 브랜치 생성.작업 완료 후 Pull Request 생성.코드 리뷰와 테스트 통과 후 main에 병합.병합 후 바로 배포.사용 시기배포 주기가 짧고, 빠른 릴리스가 중요한 프로젝트.단순한 워크플로우를 선호하는 소규모 팀. 2. GitLab FlowGitLab Flow는 Gi..
Git Flow는 Git을 활용한 브랜치 관리 전략 중 하나로, 코드의 개발, 릴리스, 배포 과정을 체계적으로 관리할 수 있도록 설계된 워크플로우입니다. Vincent Driessen이 제안한 방식으로, 프로젝트 개발 단계에 따라 명확한 브랜치 구조와 규칙을 제공합니다. 핵심 아이디어Git Flow는 다음과 같은 주요 브랜치로 구성됩니다:main (또는 master)항상 안정적이고 배포 가능한 코드만 존재.실제 운영 환경에 배포된 코드가 이 브랜치에 포함됩니다.develop새 기능 개발이 완료된 코드를 통합하는 브랜치.개발 진행 중의 최신 상태를 유지합니다. 주요 보조 브랜치Git Flow 전략에서는 기능 추가, 버그 수정, 배포 등을 위한 브랜치를 체계적으로 구분합니다.Feature 브랜치목적: 새..
git fetch와 git pull은 둘 다 원격 저장소(Remote Repository)의 변경 사항을 가져오는 명령어이지만, 동작 방식과 목적이 다릅니다. 1. 기능 요약git fetch원격 저장소의 변경 사항을 로컬 저장소에 가져오기만 합니다.로컬 브랜치에는 영향을 주지 않습니다.예: 원격 브랜치와 로컬 브랜치 간의 변경 내역을 확인하거나 병합하기 전에 사용.git pull원격 저장소의 변경 사항을 가져오고, 로컬 브랜치에 병합까지 수행합니다.사실상 git fetch + git merge를 한 번에 실행하는 명령어입니다. 2. 작업 흐름 차이git fetch원격 브랜치의 변경 사항을 가져옵니다.원격 브랜치(origin/branch-name)에 반영됩니다.로컬 브랜치는 그대로 유지되며, 병합 여부는 ..
git switch와 git checkout은 브랜치 이동 및 생성과 관련된 명령어입니다. git switch는 Git 2.23(2019년 릴리스)부터 추가된 명령어로, 기존에 과도하게 많은 역할을 담당하던 git checkout의 기능을 일부 분리한 명령어입니다. 1. 기능 비교git checkout역할:브랜치 변경.브랜치 생성 및 이동.특정 커밋이나 파일 체크아웃.작업 디렉터리의 파일 복구.예제:# 브랜치 이동 git checkout feature/login # 새로운 브랜치 생성 및 이동 git checkout -b feature/new-branch # 특정 커밋 체크아웃 git checkout # 파일 복구 git checkout HEAD~1 -- file.txt git switch역할:브랜치..
엄청 자주 쓰이는 add, commit, push, pull은 제외하려고 한다. 1. 브랜치 관련 명령어git branch현재 브랜치 목록 확인.git branch 새로운 브랜치 생성:git branch 브랜치 삭제:git branch -d git switch브랜치 변경 (체크아웃 대신 사용 가능). git switch 새로운 브랜치 생성 후 이동:git switch -c git merge다른 브랜치를 현재 브랜치에 병합. git merge git rebase다른 브랜치의 커밋을 현재 브랜치로 재배치. git rebase 충돌 해결 후 재개: git rebase --continue 2. 작업 내용 확인 및 디버깅git status현재 상태 확인 (변경 사항, 스테이징 여부). git statusgi..
현업에서 Git은 협업과 코드 관리를 위한 핵심 도구로 사용됩니다. **Git을 사용하는 작업 흐름(Git Workflow)**은 회사의 개발 방식, 팀의 협업 도구, 프로젝트 규모 등에 따라 달라질 수 있지만, 대부분 아래의 단계를 기본으로 구성됩니다. 1. 작업 시작 전: 프로젝트 클론새로운 개발자가 프로젝트에 참여하거나 작업을 시작할 때, 먼저 원격 저장소(Remote Repository)를 로컬로 클론합니다.이 명령은 저장소를 로컬에 복사하며, 원격 저장소 이름은 기본적으로 origin으로 설정됩니다. 2. 브랜치 관리현업에서는 브랜치를 사용하여 여러 개발 작업을 동시에 진행합니다. 대표적인 브랜치 관리 전략은 다음과 같습니다:(1) Main Branchesmain 또는 master: 항상 배포..
Git WorkflowGit 작업 환경은 크게 3가지로 나뉜다:Working Directory: 작업 중인 파일이 있는 디렉토리.Staging Area: git add로 파일을 대기 상태로 이동..git Directory: git commit으로 기록 저장.push: .git Directory의 내용을 원격 저장소(GitHub)에 업로드.pull: 원격 저장소의 내용을 로컬로 가져옴.checkout: 특정 버전으로 돌아가 작업. 파일 상태와 트래킹Tracked: Git이 이미 관리 중인 파일.Unmodified: 수정되지 않은 파일.Modified: 수정된 파일.Untracked: 새로 작성된 파일로, 아직 Git이 관리하지 않음.