Загружаем каталог…
Загружаем каталог…
1. Git / GitHub Git & GitHub를 사용해야하는 이유 버전 관리(Version Control)을 위해 버전 관리란? 파일이나 코드의 변경 이력을 체계적으로 기록하고 관리하는 것 언제, 누가, 무엇을 바꿨는지 알 수 있고, 필요하면 과거 상태로 되돌릴 수 있음 Git과 GitHub의 차이 1) Git 파일 복사와 달리 변경 내용이 커밋(commit) 단위로 기록됨 언제든 특정 시점으로 되돌릴 수 있음 여러 사람이 동시에 작업 가능 변경 이력과 책임이 명확함 2) Git vs. GitHub Git - 버전 관리를 위한 도구 (프로그램) & 내 컴퓨터에서 동작 GitHub - Git 저장소를 올려두는 웹 서비스 & 코드 공유 및 협업 플랫폼 (Pull Request, Issue, Review 기능 제공) Git은 버전 관리 엔진, GitHub는 협업과 공유를 위한 서비스 Repository 파일과 그 변경 이력을 함께 관리하는 저장소 프로젝트 전체와 모든 버전 기록이 들어 있음 로컬 저장소 : 내 컴퓨터에 있는 저장소 - 프로젝트 폴더로 이동 ex) git init 실행 -> 해당 폴더가 Git 레포지토리가 됨 원격 저장소 : GitHub 같은 서버에 있는 저장소 ex) GitHub에서 새 Repository 생성 - git clone으로 내 컴퓨터에 복사 Commit(커밋) 변경 사항을 하나의 기록으로 저장하는 단위 (=하나의 버전) "무엇을 왜 바꿨는지"를 메시지로 남김 특정 시점의 프로젝트 상태를 저장 되돌아갈 수 있는 기준점 역할 커밋 생성 : git commit -m "회원가입 기능 추기" Branch 독립적으로 작업할 수 있는 작업 공간 기존 코드를 건드리지 않고 기능 개발 가능 여러 기능을 동시에 개발할 수 있음 작업이 끝나면 병합(merge) 브랜치 생성 : git branch feat/login 브랜치 전환 : git switch feat/login 2. git 기본 명령어 git config Git의 기본 동작을 설정하는 명령어 전역 설정 : 모든 저장소에 적용 git config --global user.name"홍길동" git config --global user.email" hong@example.com " 로컬 설정 : 특정 저장소에만 적용 - 프로젝트마다 다른 계정이나 역할을 써야 할 떄 사용 (회사 프로젝트, 개인 프로젝트 구분) git config user.name"홍길동" git config user.email" hong@example.com " git init 현재 폴더를 Git 레포지토리로 초기화 .git 폴더가 생성. 현재 폴더를 기준으로 버전 관리 시작 git status 현재 레포지토리의 상태를 확인 수정된 파일 / 스테이징(staging) 여부 / 커밋 가능한 변경 사항 확인 git add 변경된 파일을 Staging Area로 올리는 명령어 커밋에 포함할 변경 사항을 선택하는 단계 (아직 커밋이 생성된 것은 아님) git commit Staging Area에 있는 변경 사항을 하나의 버전으로 기록 git commit -m"커밋 메시지" 커밋은 되돌릴 수 있는 기준점 역할 (ex) 게임 save file) 작성 규칙 (권장 규칙) 1) 명확하고 간결하게 작성 2) 동사로 시작 3) 한 커밋 = 한 작업 ex) Add login API / Fix password validation bug / Refactor user service git push (내보내기/업로드) 로컬 컴퓨터에서 작업하고 커밋한 변경사항을 원격 저장소(GitHub)로 올려보내는 명령어 내 코드를 팀원들과 공유하거나 GitHub 저장소에 최종 반영할 때 사용 파일 수정 후 변경 사항 스테이징 - git add. 로컬 저장소에 커밋 메시지 작성 - git commit -m "Feat: Add login feature" 원격 저장소(origin)의 main 브랜치로 푸시 - git push origin main git pull (가져오기 + 병합/다운로드) 원격 저장소(GitHub)에 업데이트된 최신 코드를 내 로컬 컴퓨터로 가져와서 현재 작업 중인 브랜치에 병합(Merge)하는 명령어 팀원이 새로 올린 코드를 받아오거나, 다른 환경에서 작업한 최신 상태를 내 컴퓨터에 반영할 때 사용 현재 작업 중인 브랜치 확인 - git branch 원격 저장소(origin)의 main 브랜치 최신 코드 불러와 병합 - git pull origin main 3. Branch git branch 명령어 1) Branch(브랜치) 기존 작업과 분리된 독립적인 작업 흐름 기능 개발, 실험, 수정 작업을 안전하게 진행할 수 있음 협업과 안정적인 배포를 위해 브랜치를 잘 관리하는 것이 중요 2) 주요 명령어 브랜치 목록 확인 : git branch 브랜치 생성 : git branch feature/ui 브랜치 전환 : git switch feature/ui 브랜치 관리(main, develop, feature, hotfix, release) main : 배포 가능한 안정 버전 dev : 개발 중인 기능을 테스트하는 버전 feature/* : 기능 개발 hotfix/* : 긴급 수정 release : 배포 전 최종 QA 및 버그 수정 / 출시 준비 작업 Fast-forward vs. 3-way merge 1) Fast-forward merge : 브랜치가 직선으로 이어질 때 / 단순히 커밋 포인터만 이동 2) 3-way merge : 브랜치가 갈라졌다가 다시 합쳐질 때 / 병합 커밋이 생성 분기가 없으면 Fast-forward, 분기가 있으면 3-way merge Merge conflict 같은 파일의 같은 부분을 서로 다르게 수정하면 충돌이 발생 해결 방법 1) 충돌 파일 확인 2) 충돌 코드 직접 수정 3) 새로운 커밋 생성 Git은 자동 병합을 시도하고, 판단이 필요한 경우만 충돌로 알려줌 Git 레포지토리 초기화 $ git init $ echo "hello" > test.txt $ git add. $ git commit -m "first commit" feature 브랜치 생성 $ git branch feature $ git switch feature 같은 파일 수정 $ echo "hello from feature" > test.txt $ git add. $ git commit -m "update from feature" main에서 다시 수정 $ git switch main $ echo "hello from main" > test.txt $ git commit -am "update from main" $ git merge feature # 병합 시도 $ cat test.txt # 충돌 내용 확인 파일 수정 $ vi test.txt $ git commit -am "resolve merge conflict" $ git log --oneline --graph
То, что RADAR обнаружил и классифицировал для этой возможности. Это опубликованный источником текст, а не подтверждение, что предложение ещё действует.
공부3) Git/GitHub 기초. 1. Git / GitHub Git & GitHub를 사용해야하는 이유 버전 관리(Version Control)을 위해 버전 관리란? 파일이나 코드의 변경 이력을 체계적으로 기록하고 관리하는 것 언제, 누가, 무엇을 바꿨는지 알 수 있고, 필요하면 과거 상태로 되돌릴 수 있음 Git과 GitHub의 차이 1) Git 파일 복사와 달리 변경 내용이 커밋(commit) 단위로 기록됨 언제든 특정 시점으로 되돌릴 수 있음 여러 사람이 동시에 작업 가능 변경 이력과 책임이 명확함 2) Git vs. GitHub Git - 버전 관리를 위한 도구 (프로그램) & 내 컴퓨터에서 동작 GitHub - Git 저장소를 올려두는 웹 서비스 & 코드 공유 및 협업 플랫폼 (Pull…
Открыть источник