블로그
전체 2#태그
- branch
- git
- 수업
- 명령어
2025. 06. 05.
0
git branch
# Git Branch 실습 정리## 1. 저장소 복제 (Clone)```bash# GitHub 저장소를 로컬로 복제$ git clone https://github.com/Hannah2030-cell/new_gitStudy10.git# 복제된 디렉터리로 이동$ cd new_gitStudy10```## 2. 브랜치 조회```bash# 로컬 브랜치 목록 확인$ git branchdevelop # 표시는 현재 브랜치# 원격 브랜치 목록 확인$ git branch -rorigin/HEAD -> origin/developorigin/develop# 로컬과 원격 브랜치 모두 확인$ git branch -a* developremotes/origin/HEAD -> origin/developremotes/origin/develop```## 3. 브랜치 생성```bash# 새로운 브랜치 생성 (현재 브랜치에서 분기)$ git branch main$ git branch qa# 생성 후 브랜치 목록 확인$ git branch* developmainqa```## 4. 브랜치 전환```bash# 다른 브랜치로 전환$ git checkout mainSwitched to branch 'main'# 현재 브랜치 확인 (프롬프트에서도 확인 가능)$ git branchdevelop* main # 현재 main 브랜치# 다시 develop 브랜치로 전환$ git checkout developSwitched to branch 'develop'```## 5. 브랜치 삭제```bash# 로컬 브랜치 삭제$ git branch -d mainDeleted branch main (was b29de65).# 삭제 후 확인$ git branch* developqa```## 6. 원격 저장소에 브랜치 푸시```bash# 새로운 브랜치를 원격 저장소에 푸시$ git push --set-upstream origin mainTotal 0 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)To https://github.com/Hannah2030-cell/new_gitStudy10.git* [new branch] main -> mainbranch 'main' set up to track 'origin/main'.```## 7. 원격 브랜치 삭제```bash# 원격 저장소의 브랜치 삭제$ git push origin --delete mainTo https://github.com/Hannah2030-cell/new_gitStudy10.git- [deleted] main# 삭제 후 원격 브랜치 확인$ git branch -a* developqaremotes/origin/HEAD -> origin/developremotes/origin/develop```## 주요 Git Branch 명령어 정리| 명령어 | 설명 ||--------|------|| git branch | 로컬 브랜치 목록 조회 || git branch -r | 원격 브랜치 목록 조회 || git branch -a | 로컬/원격 브랜치 모두 조회 || git branch [브랜치명] | 새 브랜치 생성 || git branch -d [브랜치명] | 로컬 브랜치 삭제 || git checkout [브랜치명] | 브랜치 전환 || git push --set-upstream origin [브랜치명] | 새 브랜치를 원격에 푸시 || git push origin --delete [브랜치명] | 원격 브랜치 삭제 | 새로운 브랜치로 체크아웃하는 방법새로운 브랜치 생성과 동시에 해당 브랜치로 이동하는 명령어를 실행하려면 다음과 같이 입력합니다.git checkout -b NEW-BRANCH-NAME 이 명령어를 실행하면 바로 새로운 브랜치로 전환됩니다. ## 실습에서 배운 점1. 브랜치 생성과 전환: 로컬에서 브랜치를 생성하고 자유롭게 전환할 수 있습니다.2. 원격 저장소 연동: 로컬 브랜치를 원격 저장소에 푸시하고 삭제할 수 있습니다.3. 브랜치 관리: 불필요한 브랜치는 로컬과 원격에서 모두 삭제하여 정리할 수 있습니다.4. 브랜치 상태 확인: 다양한 옵션으로 브랜치 상태를 확인할 수 있습니다.이러한 브랜치 관리 기능을 통해 효율적인 협업과 버전 관리가 가능합니다. 코딩애플 무료 github 강의에서 퍼온 글-------------------------------------------------------------------------rebase and merge 브랜치를 rebase 하고 나서 merge 하는 짓거리도 가능합니다. 일단 rebase가 뭐냐면 rebase는 브랜치의 시작점을 다른 commit으로 옮겨주는 행위입니다. 1. rebase를 이용해서 신규브랜치의 시작점을 main 브랜치 최근 commit으로 옮긴 다음 2. fast-forward merge하는 것입니다. 이런 식으로도 브랜치 합치기가 가능하겠군요. 왜 이따구로 하냐고요?1. 3-way merge 말고 강제로 fast-forward 하고 싶을 때2. 브랜치 그딴거 필요없이도 코드 잘짜는 고수같은 느낌을 주고 싶을 때3. commit 내역을 한 줄로 계속 이어서 남기고 싶을 때그러고 싶으면 일반 3-way merge 대신 rebase & merge 해도 됩니다. 그래서 실제로 rebase and merge 하고 싶으면 1. 새로운 브랜치로 먼저 이동해서2. git rebase main 하면 됩니다. 3. 그럼 브랜치가 main 브랜치 끝으로 이동하는데 그걸 fast-forward merge 하면 됩니다. git switch 새로운브랜치 git rebase main git switch main git merge 새로운브랜치차례로 입력하면 rebase 끝입니다. rebase & merge를 한 줄로 쉽게 비유하자면 강제 fast-forward merge입니다. 직접 새로운 브랜치 만들고 commit 몇 번 하고 rebase 해보십시오. 당연히 main 말고 다른 브랜치끼리도 가능합니다. 물론 단점도 있는데 브랜치끼리 차이가 너무 많은 경우 rebase하면 충돌이 많이 발생할 수 있는데 그거 하나하나 해결하기 귀찮습니다.
branch
・
git
・
수업
2025. 06. 04.
0
깃 배운내용
# Git 기본 개념 및 명령어 정리## Git 사용 목적1. 파일 및 폴더 변경 사항 관리2. 팀 개발 협업 관리## Git vs GitHub- Git: 로컬에서 파일 변경 사항들을 관리하는 도구 - 도구 종류: Git CLI 명령어, TortoiseGit, SourceTree- GitHub: 로컬에서 만든 파일을 원격지에서 관리할 수 있도록 지원하는 사이트## OS 시스템 명령어| 명령어 | 설명 ||--------|------|| cd 폴더명 | 현재 폴더 위치 변경 || dir | 현재 폴더의 파일 및 폴더 조회 |## Git 기본 용어- Branch: Git의 작업영역(work area)- Master: Git의 기본 브랜치 이름- Commit: 현재 작업한 내용들을 Git에 저장하는 완료 기능- HEAD: 현재 작업 브랜치의 위치- Remote/Origin: Git의 원격지에 대한 이름## Git 명령어 상세 정리### 1. 환경 설정 명령어```bash# Git 환경 정보 조회git config --list# 사용자 이름 설정git config --global user.name "사용자이름"# 사용자 이메일 설정git config --global user.email "이메일주소"# 현재 폴더에 Git 초기화git init```### 2. 파일 상태 관리 명령어```bash# Git에서 관리하는 파일들의 상태 확인git status# 파일을 staged area로 추가git add 파일명1 파일명2git add * # 전체 파일# staged area에서 파일 제거 (unstaged로 이동)git rm --cached 파일명# staged area의 파일들을 commitgit commit -m "커밋 메시지"```### 3. 히스토리 조회 명령어```bash# 커밋 히스토리 조회git log# 커밋 내용까지 자세히 조회git log -p# 변경 사항 비교git diff```### 4. 커밋 수정 명령어```bash# 마지막 커밋 메시지 변경git commit --amend -m "새로운 메시지"# 최근 3개 커밋 수정 (대화형)git rebase -i HEAD~3```### 5. 버전 되돌리기 명령어```bash# 마지막 커밋을 스테이징 전 상태로 되돌리기git reset HEAD^# 마지막 커밋 1개 삭제 + 변경된 파일도 함께 되돌림git reset --hard HEAD^# 마지막 커밋 2개 삭제 + 변경된 파일도 함께 되돌림git reset --hard HEAD^^# 마지막 커밋 내용 완전 삭제git update-ref -d HEAD```### 6. 원격 저장소 관리 명령어```bash# 원격 저장소 연결 (최초 1회)git remote add origin 원격저장소URL# 로컬 작업 내용을 원격 저장소에 업로드git push# 원격 저장소의 모든 내용을 로컬로 복제git clone 원격저장소URL# 원격 저장소의 최신 변경사항을 가져와서 병합git pull# 원격 저장소의 변경사항만 가져오기 (병합하지 않음)git fetch# 가져온 변경사항을 현재 브랜치와 병합git merge```## Git 작업 프로세스### 로컬에서 원격지로 파일 적용하는 과정1. 파일 생성/수정/삭제2. git add (파일을 staged area로 추가)3. git commit (변경사항을 로컬 저장소에 저장)4. git push (로컬 저장소를 원격 저장소에 업로드)### 원격지에서 로컬로 파일 적용하는 과정1. 원격지 연결 (최초 1회만)2. git pull (원격 저장소의 변경사항을 가져와서 병합)## Clone 시 추가 고려사항- git clone 명령어 사용 시 자동으로 원격 저장소가 연결됨- 복제된 저장소는 이미 Git이 초기화된 상태- 기본 브랜치로 자동 전환됨- 원격 저장소의 모든 히스토리를 포함하여 복제됨## Git 파일 상태 흐름도```작업 디렉터리 → [git add] → Staged Area → [git commit] → 로컬 저장소 → [git push] → 원격 저장소 ↑ ↓ └─────────────────── [git pull] ←─────────────────────────────┘```이러한 Git 명령어들을 숙지하면 효율적인 버전 관리와 팀 협업이 가능합니다.
git
・
명령어
・
수업