# Git Bash

## Git

---

- 2005년 리누스 토르발스에 의해 개발된 분산 버전 관리 시스템

- 여러명의 사용자들 간에 파일에 대한 작업을 조율하는 데 사용

- 개발 프로젝트에서 버전 관리를 돕는 시스템이 git이다

- 인터넷 연결이 되지 않은 곳에서도 개발 진행 가능, 중앙 저장소가 삭제 되어도 복구 가능

- 각 개발자가 branch에서 개발 후 merge 방식을 사용해 **병렬 개발 가능**

### **기본 용어**

- ******Repository**: 저장소 → 히스토리, 태그, 소스의 가지치기 혹은 branch에 따라 버전을 저장

- **Working Tree**: 저장소를 어느 한 시점으로 바라는 작업자의 현재 시점

- **Staging Area**: 저장소에 커밋하기 전에 커밋을 준비하는 위치

- **Commit**: 변경된 작업 상태를 점검을 마치면 확정하고 저장소에 저장

- **Head**: 현재 작업중인 Branch를 가리킨다

- **Branch**: 가지 또는 분기접 → 작업을 할 때 현재 상태를 복사 하여 Branch에서 작업한 후 완전하다 싶을 때 Merge**Branch**: 가지 또는 분기접 → 작업을 할 때 현재 상태를 복사 하여 Branch에서 작업한 후 완전하다 싶을 때 Merge

- **Merge**: 다른 Branch의 내용을 현재 Branch로 가져와 와합치는 작업

### **Git 기본 명령어**

- `git help`: 도움말 기능

- `git init`: 깃 저장소 초기화

- `git status`: 저장소 상태 체크

- `git branch`: 새로운 브래치 생성

- `git add`: staging 여역에 변경 내용 추가

- `git commit`: staging area에 있는 변경 내용 묶음 및 정의

- `git log`: 커밋 내용 확인

- `git push`: 로컬 컴퓨터에서 서버로 변경사항 push

- `git pull`: 서버 저장소로부터 최신 버전을 pull한 뒤 현재 브랜치와 merge

- `git clone`: 서버 저장소의 데이터를 로컬 컴퓨터로 복사

- `git checkout`: 작업하기 원하는 브랜치로 이동

- `git merge`: 개별 branch에서 마친 작업을 master branch로 병합

## Git Bash 설치

---

- Git Bash는 Git을 이용할 수 있는 Bash (Unix Shell)

- 리눅스 커맨드 입력이 가능하다

[Git](https://git-scm.com/)

![Image](https://upload.cafenono.com/image/slashpagePost/20250117/204156_PWz65E2huQuUk1i25i?q=80&s=1280x180&t=outside&f=webp)

- `Download for Windows`를 클릭

![Image](https://upload.cafenono.com/image/slashpagePost/20250117/204224_48AG0JYaPPlH4j6R2B?q=80&s=1280x180&t=outside&f=webp)

- `Click here to download`를 클릭

![Image](https://upload.cafenono.com/image/slashpagePost/20250117/204333_RAWmYNYfVT22EBCU3z?q=80&s=1280x180&t=outside&f=webp)

![Image](https://upload.cafenono.com/image/slashpagePost/20250117/204523_3x1J68oHZ5BNvRRsvg?q=80&s=1280x180&t=outside&f=webp)

- 기본 설정에서 수정하는 것 없이 설치 완료

![Image](https://upload.cafenono.com/image/slashpagePost/20250117/204620_Fo2aqMUl6ZSDV5wUry?q=80&s=1280x180&t=outside&f=webp)

- git bash를 열어 사용 가능

## GitBash 계정 변경

---

![Image](https://upload.cafenono.com/image/slashpagePost/20250202/001231_vORSm4d7QUDnLmxBP4?q=80&s=1280x180&t=outside&f=webp)

- `git config user.name`과 `git config user.emial`을 사용하여 계정을 확인할 수 있다

- `git config --global user.name [name]` 과 `git config --global user.email [email]`을 사용하여 계정을 변경할 수 있다

For the site tree, see the [root Markdown](https://slashpage.com/yerim-devnote.md).
