Tart setting

## 타르트 가상환경 실행 ```bash nohup tart run everycharge ``` --- ## 가상환경 내부 팀시티 에이전트 실행 ```bash cd ~/buildAgentFull/bin ./agent.sh start ``` --- ## 가상환경 내부 환경 설정 ### Ruby rbenv - ruby 2.7.5 ### Node nvm - node 18 ### 심볼릭 링크 추가 error: Can't find 'node' binary to build React Native bundle If you have non-standard nodejs installation, select your project in Xcode, find 'Build Phases' - 'Bundle React Native code and images' and change NODE_BINARY to absolute path to your node executable (you can find it by invoking 'which node' in the terminal) `ln -s $(which node) /usr/local/bin/node` ### 안드로이드 스튜디오 설치 후 android sdk 환경을 못잡으면 역시 심볼릭 링크로 우회 ```bash ln -s /Users/admin/Library/Android/sdk /Users/admin/android-sdk ``` ### 키 스토어 및 Fastlane credential 설치 구글드라이브 - https://drive.google.com/drive/u/1/folders/1OrNZ8SfhIjg5lIQLMx3csNEPQdRFpUKH 디렉토리 위치 : /Users/admin/EveryCharge.keystore ### 백업 이미지 https://drive.google.com/drive/folders/1KWa5g1VL8uk-cAH...

깃 브랜치 관리

> 깃 브런치 관리 현황 정리 문서
> 

# 세부 브런치별 기능 및 역할

## main

- 실제 사용자가 사용중인 상태
- Hotfix 가 포함되어있을 수 있음 (Code push 사용)

## dev

- feat, fix branch 에서 개발 완료된 기능을 1차적으로 dev branch를 통해 merge해, 상호 파일간 호완 수준 및 빠른 개발 및 실험이 이뤄지는 branch, 각 파일은 기능별, 구조별로 각 개인이 만든 코드이다.
- 해당 단계에서는 merge할 경우, merge 이후 충돌 발생여부를 체크해야하며, 충돌 발생시 해결 순서는 다음과 같다.
    1. 최신 dev branch 를 pull 한 후 개인의 branch 를 최신 dev 위로 rebase
        1. 대부분 1번에서 해결되며 해결되지 않는 상황에서는 2번 이후를 진행
    2. 에러 발생 코드 위치 확인
    3. 코드 작성일과 작성자 확인
    4. 문제에 대한 원인 분석
        1. 작성자와 협업이 가능한 경우,
            - 상호 코드간 충돌이 일어나는지 확인 후 코드 스타일 변경
        2. 작성자와 협업이 불가능한 경우,  
            - 작성자의 코드를 현재 작성한 본인 코드에 맞게 수정
- dev branch를 통해 문제가 발생하지 않은경우, release branch 로 merge
    - release branch merge 조건
        1. 상호 호환되는 코드의 개발이 더 이상 진행되고 있지 않은 경우, 
        2. 목표로한 sprint 기능 및 오류 수정의 단계가 종료된 경우,
        3. QA 가 종료된 경우

## feat

- 앱 내 기능 개발이 진행되는 branch
- 새로운 기능 추가 혹은 기존의 기능을 수정하는 작업(Business logic 변경)이 진행된다.
- 기능 개발이 완료된 feat branch의 경우 진행 순서
    - **dev** branch로 pull request 요청 이후, 코드 리뷰 → 휴가자 이외의 모든 팀원들에게 approve 를 받은 경우, **dev** branch 로 merge
        - reviewer 들의 comment 및 approve 상황을 확인할 수 있고 자동화 빌드의 성공 여부를 확인할 수 있으므로 가급적 git hub 웹 브라우저를 사용하도록 한다

## fix

- 앱 내 수정 및 오류 발생 사항에 대한 수정이 진행되는 branch
- 주로 component의 수정, feature 관련 수정이 진행된다.
- 수정사항이 해결된 fix branch의 경우 진행 순서
    - **dev** branch로 pull request 요청 이후, 코드 리뷰 → 이상 없을 경우, **dev** branch 로 merge

## chore

- 라이브러리 업데이트가 진행되는 branch
- 주로 react-native core library 혹은 3rd party library의 버전 업데이트가 진행된다.
- 수정사항이 해결된 경우 진행 순서
    - **dev** branch로 pull request 요청 이후, 코드 리뷰 → 이상 없을 경우, **dev** branch 로 merge

## imp

- 앱 내 기술 부채 및 기능이 변경되지 않지만 기능 및 성능이 향상되는 branch (ex. refactoring)
- 주로 결과가 같지만 코드는 수정이 될 때 진행된다.
- 수정사항이 해결된 fix branch의 경우 진행 순서
    - **dev** branch로 pull request 요청 이후, 코드 리뷰 → 이상 없을 경우, **dev** branch 로 merge

```mermaid
---
title: Git flow
---
%%{init: { 'logLevel': 'debug', 'theme': 'base' } }%%
gitGraph
	commit id:"v0.0.0"
	branch dev
	commit id:" "
	checkout dev
	branch feat-fix-chore-imp
	commit id:"feature | fix | chore | imp"
	checkout dev
	merge feat-fix-chore-imp
	checkout main
	merge dev
  commit id:"release v0.1.0"
	branch hot-fix
	commit id:"hot fix"
	checkout main
	merge hot-fix
	checkout main
	commit id: "hot-fixed"
	checkout dev
	merge main
	

```
## Branch naming convention

feat/티켓아이디(TAS-Number)/summary

Comments

Popular posts from this blog

카카오 내비 리엑트 네이티브 모듈 만들기 ft.코틀린

Operating System Concepts 9th

Operating System Concept