[Upstage AI Lab] 5주차 - Git
[Upstage AI Lab] 5주차 - Git 학습 내용
[Upstage AI Lab] 5주차 - Git
들어가며
이번 글에선 터미널 기본 명령어, Git, GitHub Flow 등의 학습 내용을 요약 및 정리했다.
Shell & Vim
1. Shell Command
자주쓰는 터미널 명령어
1
2
3
4
5
6
7
8
9
10
11
ls # 파일 목록 보기
cd # 폴더 이동
mkdir # 새 폴더 생성
pwd # 현재 경로 출력
touch # 새 파일 생성
mv # 파일 이동
cp # 파일 복사
rm # 파일 삭제
rm -rf # 폴더 강제 삭제
cat # 파일 내용 출력
vi # Vim으로 파일 열기
2. Vim Command
Vim은 터미널 기반 텍스트 편집기, 키보드만으로 빠르게 코드를 작성하고 편집할 수 있는 고급 에디터
1
2
3
4
5
6
i # 입력 모드 진입
ESC # 일반 모드로 나가기
:w # 저장
:q # 종료
:wq # 저장하고 종료
:q! # 강제 종료 (저장 안 함)
Git
1. Git 전역 설정
Git을 처음 쓸 때 사용자 정보랑 환경을 설정하는 기본 세팅
1
2
3
4
5
6
git config --global user.name "{username}" # 사용자 이름 설정
git config --global user.email "{email}" # 사용자 이메일 설정
git config --global core.editor "vim" # 기본 에디터를 Vim으로 설정
git config --global core.pager "cat" # 출력 결과를 페이징 없이 바로 보여줌
git config --list # 현재 설정 확인
vi ~/.gitconfig # 설정 파일 직접 수정
2. Git 기본 작업
저장소를 복제(clone)하고, 변경사항을 커밋(commit)하고 푸시(push)하는 일련의 과정
1
2
3
4
5
git clone {username/repo-addr} # 원격 저장소 복제
git status # 변경 사항 확인
git add README.md # 변경 파일 staging
git commit # 커밋 (변경 사항 저장)
git push origin main # 원격 저장소에 반영
3. Git ignore
특정 파일이나 디렉토리를 추적하지 않도록 명시하기 위한 파일
1
2
.DS_Store # MacOS 환경
.py[cdo] # python cache file
4. Git Branch 관리
브랜치 확인, 생성, 이동하는 기본 명령어
1
2
3
4
5
git branch # 로컬 브랜치 목록 확인
git branch -r # 원격 브랜치 목록 확인
git branch -a # 모든 브랜치 목록 확인
git branch {name} # 새 브랜치 생성
git switch {name} # 해당 브랜치로 전환
GitHub Flow
협업에 최적화된 Git 브랜치 전략으로, 깔끔한 개발 흐름을 유지
1. Issue
github 프로젝트의 다양한 이슈를 관리하기 위한 기능
할 일, 버그, 질문 등을 관리하기 위함
Issue template
1
2
3
4
5
6
7
8
9
10
11
## Description
한 줄로 추가할 기능 설명
디테일하게 다시 설명(사진 영상 등 자유롭게 추가 가능)
## Tasks
- [ ] Item 1
- [ ] Item 2
- [ ] Item 3
## References
- [Link text](Link addr)
2. GitHub Flow with Team
remote 저장소에는 push를 금지
팀원
- Team repo를 fork한 후 Clone
git clone {fork address}
- 다른 사람의 작업사항을 쉽게 받기 위한 upstream 설정
git remote add upstream {address}
git remote set-url --push upstream no-push
git remote -v
< 확인
- branch 생성 및 변경
git branch {name}
git switch {branch name}
< 생성한 브런치로 변경
- commit, psuh 하기
git add {name}
git commit -m "message"
git push -u origin {branch name}
- New pull request를 생성
팀장
- Issue open
- assignees, lables 설정
- Pull Request 체크
- pull request의 labels, reviewer 설정
- mergesms 팀장만 수행
This post is licensed under CC BY 4.0 by the author.