[ 멋쟁이 사자처럼 한양대 9기 ] - git 명령어 정리와 git flow

.·2021년 4월 4일
0
post-thumbnail
post-custom-banner

git 명령어 정리

1. git clone and upload

  1. git clone url - 원격저장소에서 다운받기
  2. git status - 상태보기
  3. git add . - 모든 파일 추적
  4. git commit -m "message" - 버전 만들기
  5. git push origin - 원격저장소에 올리기
  6. git log --decorate --graph --oneline - 깃 로그 보기

2. git branch

  1. git branch - 브랜치 목록 보기
  2. git branch name - 브랜치 생성
  3. git branch -d name - 브랜치 삭제
  4. git checkout "name" - 브랜치로 이동
  5. git checkout -b name - 브랜치 생성 후 이동
  6. git merge name - 병합하기

3. git reset

git reset --option HEAD
reset 옵션
–soft : index 보존(add한 상태, staged 상태), 워킹 디렉터리의 파일 보존. 즉 모두 보존.
–mixed : index 취소(add하기 전 상태, unstaged 상태), 워킹 디렉터리의 파일 보존 (기본 옵션)
–hard : index 취소(add하기 전 상태, unstaged 상태), 워킹 디렉터리의 파일 삭제. 즉 모두 취소.
https://gmlwjd9405.github.io/2018/05/25/git-add-cancle.html

4. git flow

4. 실습

git flow 폴더를 만들고 git init 명령어를 통해 git 저장소를 만듭니다.

vim 에디터를 통해 f1.txt를 만들고 내용 1을 추가해줍니다.

git add, git commit 명령어를 통해 fitstcommit을 생성합니다.

git checkout -b "develop" 명령어를 통해 develop 브랜치를 생성한 후 이동합니다.
git log --decorate --all --graph --oneline 명령어를 사용하면 git branch를 좀 더 자세히 볼 수 있습니다.
현재 develop 브랜치와 master branch 둘 다 firstcommit에 머물러 있습니다.

vim 에디터를 통해 f1.txt 파일을 수정합니다.

develop1 commit를 만듭니다. git log를 통해 조회해 보니 master branch는 firstcommit에 머물러 있고 develop 브랜치는 develop1에 머물러 있습니다.

feautre 브랜치를 만든 후 vim 에디터를 통해 파일을 수정한 후 feat#1 커밋을 생성합니다. git log를 통해 살펴보면 master, develop, feature 브랜치의 버전이 다 다릅니다.

develop 브랜치로 이동한 후 feature 브랜치를 합쳐줍니다. merge 명령어를 통해 브랜치를 병합한 후 git log를 살펴보면 develop 브랜치도 feat 커밋을 가리키고 있습니다.

develop 브랜치에 개발내용이 잘 반영되었으니 feature 브랜치를 삭제합니다.

수정사항이 있을때는 fix 브랜치를 파서 그 곳에서 작업한 후 커밋을 해주면 됩니다.

develop 브랜치로 이동 후 fix 브랜치를 병합 한 후 개발이 다 끝나면 master 브랜치로 이동 후 develop 브랜치를 병합합니다. 그러면 master 브랜치도 최신 버전의 커밋을 가리킵니다.

이렇게 git flow를 통해 개발을 하면 새로운 기능을 개발 할 때는 feature 브랜치를 만든 후 그곳에서 작업을 하고 작업이 끝나면 develop 브랜치로 병합을 해줍니다. 또한 수정사항이 있을 경우에도 fix 브랜치를 판 후 그곳에서 작업을 한 후 최종 사항을 develop 브랜치로 병합합니다. 이렇게 개발을 하다가 나중에 배포하기 직전에 최종 버전을 master 브랜치에 병합 시킵니다.

profile
지금부터 공부하고 개발한것들을 꾸준하게 기록하자.
post-custom-banner

0개의 댓글