docs: 로컬 개발자 워크플로우 추가 (pull/status/push 절차)
Made-with: Cursor
This commit is contained in:
parent
818497af08
commit
bf21fd79df
@ -21,6 +21,7 @@ tags: [infra, workflow, docs, operations]
|
||||
|
||||
## 현재 문서
|
||||
- [51123_nas_remote_operations_workflow.md](./51123_nas_remote_operations_workflow.md)
|
||||
- [local_developer_workflow.md](./local_developer_workflow.md) — 로컬 PC 워크스페이스 레포 동기화·푸시
|
||||
|
||||
## 관련 문서
|
||||
- [../README.md](../README.md)
|
||||
|
||||
91
workflow/local_developer_workflow.md
Normal file
91
workflow/local_developer_workflow.md
Normal file
@ -0,0 +1,91 @@
|
||||
---
|
||||
tags: [infra, workflow, local, git, sync, developer]
|
||||
---
|
||||
|
||||
# 로컬 개발자 워크플로우
|
||||
|
||||
## 상위 원칙
|
||||
- [0_VALUE Global Principles](https://github.com/happybell80/0_VALUE/blob/main/00_Principles/global-principles.md) §C (커밋/푸시 룰)
|
||||
- [0_VALUE Workspace Config](https://github.com/happybell80/0_VALUE/blob/main/02_Governance/workspace-config/README.md)
|
||||
- [../00_Philosophy/00_IDENTITY/Infra_Project_Identity.md](../00_Philosophy/00_IDENTITY/Infra_Project_Identity.md)
|
||||
|
||||
## 관련 문서
|
||||
- [../README.md](../README.md)
|
||||
- [./README.md](./README.md)
|
||||
|
||||
## 목적
|
||||
|
||||
- 로컬 PC(워크스페이스 루트)에서 전체 레포 동기화·푸시·상태 확인을 같은 순서로 수행합니다.
|
||||
- 사람과 에이전트가 같은 문서를 읽고 같은 기준으로 로컬 작업을 수행합니다.
|
||||
|
||||
## 적용 범위
|
||||
|
||||
- 전체 레포 `git pull`
|
||||
- 작업 전/후 `git status` 확인
|
||||
- 변경·미추적 파일 add·커밋·푸시 (레포 단위)
|
||||
|
||||
## 기본 원칙
|
||||
|
||||
- 워크스페이스 루트는 환경마다 다릅니다. 로컬 PC의 경우 예: `$HOME/projects` 또는 `$WORKSPACE_ROOT`.
|
||||
- 스크립트·경로는 `$WORKSPACE_ROOT` 기준 상대 경로로 해석합니다.
|
||||
- 교차 저장소 단일 커밋 금지. 각 레포별로 add·커밋·푸시합니다.
|
||||
- 푸시 전 `git status`로 수정·추가·미추적(untracked) 파일을 모두 확인하고, 해당 레포 내 변경은 전부 add·커밋·푸시 대상에 포함합니다.
|
||||
|
||||
## 표준 흐름
|
||||
|
||||
### 1. 전체 레포 pull
|
||||
|
||||
"깃풀해줘" 요청 시 또는 작업 시작 전 동기화:
|
||||
|
||||
```bash
|
||||
# $WORKSPACE_ROOT/scripts/git_pull_all.sh 실행
|
||||
# 기본값: /home/happybell/projects (로컬 PC)
|
||||
"$WORKSPACE_ROOT/scripts/git_pull_all.sh"
|
||||
# 또는
|
||||
"$WORKSPACE_ROOT/scripts/git_pull_all.sh" "$WORKSPACE_ROOT"
|
||||
```
|
||||
|
||||
판단 기준:
|
||||
- `pull 성공: N개` 출력
|
||||
- 실패 시 해당 레포만 수동 확인 후 재시도
|
||||
|
||||
### 2. 작업 전 상태 확인
|
||||
|
||||
```bash
|
||||
cd "$WORKSPACE_ROOT"
|
||||
find . -name ".git" -type d -not -path "./trash_*" 2>/dev/null | while read d; do
|
||||
dir=$(dirname "$d")
|
||||
out=$(cd "$dir" && git status -sb 2>/dev/null)
|
||||
if echo "$out" | grep -qE '\[(ahead|behind)\]|^ M|^M |^\?\?'; then
|
||||
echo "=== $dir ==="; (cd "$dir" && git status --short)
|
||||
fi
|
||||
done
|
||||
```
|
||||
|
||||
### 3. 작업 종료 전 정리
|
||||
|
||||
각 변경된 레포에서:
|
||||
|
||||
```bash
|
||||
cd "$REPO_PATH"
|
||||
git add -A
|
||||
git status # 확인
|
||||
git commit -m "적절한 메시지"
|
||||
git push
|
||||
```
|
||||
|
||||
- 미커밋 상태가 남으면 이유(보류/폐기/후속작업)를 명시합니다.
|
||||
- "완료" 보고는 커밋 해시/푸시 브랜치 기준으로만 합니다.
|
||||
|
||||
### 4. 스크립트 위치
|
||||
|
||||
| 스크립트 | 경로 | 용도 |
|
||||
|----------|------|------|
|
||||
| git_pull_all.sh | `$WORKSPACE_ROOT/scripts/git_pull_all.sh` | 전체 레포 `git pull --no-rebase` |
|
||||
|
||||
스크립트가 없으면 `scripts/` 폴더에 생성 후 실행 권한 부여합니다.
|
||||
|
||||
## 참고
|
||||
|
||||
- `projects` 루트는 Git 레포가 아닐 수 있습니다. 실제 하위 레포를 식별해 처리합니다.
|
||||
- `trash_*` 폴더는 검색에서 제외합니다.
|
||||
Loading…
x
Reference in New Issue
Block a user