2025-09-18
Git 협업 시 반드시 지켜야할 사항 ⚠️
- 커밋전 먼저 pull하기 !
- 내 브랜치인지 항상 확인하고 커밋 !
전체과정 정리
1. 작업할 브랜치 생성 후 이동하기
git branch 브랜치이름
git checkout 브랜치이름
checkout -b 를 사용하면 생성과 동시에 이동 할 수 있다
git checkout -b 브랜치이름
2. 브랜치에서 커밋 후 푸쉬하기
(작업 중인 브랜치 에서)
git add .
git commit -m ~
원격 저장소에 해당 브랜치가 없을 경우
git push origin 브랜치이름
원격 저장소에 해당 브랜치가 이미 존재할 경우
git push
3. 로컬 master 브랜치로 이동 후 일단 원격 저장소의 master의 변경사항을 pull 해준다
(작업 중인 브랜치 에서)
git checkout main
(master 브랜치 에서)
git pull origin master
4. 다시 작업한 브랜치로 이동 후 로컬의 master 내용을 내 브랜치에 merge 한다
(작업 중인 브랜치 에서)
git merge master
git push
merge 과정에서 conflict가 난다면 해결 후 push 한다
푸쉬가 완료되면 master와 merge 된 브랜치 내용이 원격 저장소의 내 브랜치에 업데이트 된다
5. github 홈페이지의 repository로 이동 후 pull request 요청을 한다
6. 담당자가 확인 후 pull request를 수락
원격 저장소의 master에 내 브랜치의 내용이 반영된다.
Flutter 위젯
StatefulWidget의 생명주기
initState: 생성 시 호출bulid: 빌드 할때 호출,setState()호출 시build()가 다시 실행되어 UI를 갱신한다dispose: 사라지기 직전 호출- 그 외 생명주기는 나중에 알아보자.
TextField
- 주요 속성
expands: 부모 위젯의 남은 세로 공간을 모두 차지한다 (maxLines: null필요)onChanged: 값 변경 시 호출onSubmitted: 입력 완료(Enter) 시 호출decoration: 힌트, 테두리, 아이콘 등 스타일 설정
- TextEditingController
TextField에 컨트롤러를 등록해 버튼 등에서controller.text로 값을 접근 할 수 있다- 사용 후에는 반드시
dispose()호출 → 메모리 해제
키패드 집어넣기 ?⌨️
- 빈 화면 터치하면 키패드 들어가게 하는건 직접 구현해줘야 한다
- build 함수에서 scaffold 를 gesturedetector로 감싼 후
onTap()속성을 이용해서 다음과 같이 구현할 수 있다 ctrl + .(💡 warp widget을 사용하자!)gesturedetector(ontap() {FocusScope.of(context).unfocus();})
ListView
- ListView.builder : item 을 반복해서 생성할 때 사용한다
- ListView.separated : item 사이에 구분선이나 간격 위젯을 추가할 수 있다
BottomNavigationBar
- 주요 속성
items: [BottomNavigationBarItem(...)]currentIndexonTap
- 화면 전환 시 보통
IndexedStack과 함께 사용한다
IndexedStack
- 여러 위젯을 겹쳐 놓고
index에 해당하는 위젯만 보여준다 body를IndexedStack으로 구성 → 하단 탭 이동으로 화면 전환
페이지 라우팅
- 새로운 페이지로 이동한다
Navigator.push(context, MaterialPageRoute)context의 navigator를 통해 스택에 페이지를 푸쉬한다 생성자와 지역변수를 이용해서 값을 전달 할 수 있다
- 뒤로 가기
Navigator.pop()