> >
Post

[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 관리

브랜치 확인, 생성, 이동하는 기본 명령어

git-branch


1
2
3
4
5
git branch           # 로컬 브랜치 목록 확인
git branch -r        # 원격 브랜치 목록 확인
git branch -a        # 모든 브랜치 목록 확인
git branch {name}    # 새 브랜치 생성
git switch {name}    # 해당 브랜치로 전환



GitHub Flow

협업에 최적화된 Git 브랜치 전략으로, 깔끔한 개발 흐름을 유지

github-flow

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

github-team

remote 저장소에는 push를 금지


팀원

  1. Team repo를 fork한 후 Clone
    • git clone {fork address}
  2. 다른 사람의 작업사항을 쉽게 받기 위한 upstream 설정
    • git remote add upstream {address}
    • git remote set-url --push upstream no-push
    • git remote -v < 확인
  3. branch 생성 및 변경
    • git branch {name}
    • git switch {branch name} < 생성한 브런치로 변경
  4. commit, psuh 하기
    • git add {name}
    • git commit -m "message"
    • git push -u origin {branch name}
  5. New pull request를 생성


팀장

  1. Issue open
    • assignees, lables 설정
  2. Pull Request 체크
    • pull request의 labels, reviewer 설정
  3. mergesms 팀장만 수행
This post is licensed under CC BY 4.0 by the author.