---
# System prepended metadata

title: day1 피어세션

---

# day1 피어세션

## Git 워크플로우
> 여러 명이 협업을 하며 프로젝트를 개발할때는 다양한 branch전략을 세워서 한다.<br> 실무에서 사용하는 워크플로우 (예 - gitflow, git workflow, gitlab workflow 등)에 대해서 찾아보고, 왜 그런 전략이 필요한지 고민한 후 비교한다.

### git-flow

![](https://i.imgur.com/5N1KGWF.png)

- master : 제품으로 출시될 수 있는 브랜치
- develop : 다음 출시 버전을 개발하는 브랜치
- feature : 기능을 개발하는 브랜치
- release : 이번 출시 버전을 준비하는 브랜치
- hotfix : 출시 버전에서 발생한 버그를 수정 하는 브랜치
[우아한형제들-기술블로그](https://woowabros.github.io/experience/2017/10/30/baemin-mobile-git-branch-strategy.html)


### 사용 후기

- 연구실 깃랩 사용, 5명이 하는 일이 겹칠 수도 있고, 다를 수도 있음
  브랜치는 사람 이름으로, 팀 단위로 모듈 개발 <br>
  - 예시) 다음주 금요일까지 어떤 모듈을 개발해야할 경우, 각자 브랜치에서 작업을 한 뒤, 머지하면서 충돌 생기는 부분은 A와 B가 같이 충돌 생기는 부분을 해결하면서 머지 함.
- 깃헙에서 master브랜치랑 다른 branch 나눠서 했음.
  master는 배포를 할 수 있는, 오류가 없는 상태로만 머지
  dev브랜치는 개발용 브랜치로, 기능이 완성이 되면 feature브랜치를 dev에 머지 함


### Q&A

Q) Git을 사용할 때 어떤 점이 좋았는지?
A) 서로 다른 모듈을 동시에 진행하면서 의존성이 있을 수 있는데, A모듈과 B모듈의 한 부분이 충돌할 수 있다. A와 B모듈을 다르게 개발하면 개발 과정에서 막을 수 있다.
편리하다.

## Git add / Git commit
> git add와 commit을 할때 git 내부에서는 어떤 동작이 일어나는 것인지 자료를 찾아서 학습하고 이를 비교해서 정리한다.

- [lshghkh-gist](https://gist.github.com/lshghkh/c7457aa6eb134bc897a0cc7b05f087d7#3-%EC%B2%B4%ED%81%AC%ED%8F%AC%EC%9D%B8%ED%8A%B8-%ED%95%99%EC%8A%B5-%EB%82%B4%EC%9A%A9)


## 코드 리뷰
### Q&A

- 삼항 연산자
```javascript
moveChar = (direction === "UpDown") ? "^" : "<";
```

`==` : 값만 체크

`===` : 타입까지 체크




