능히 해낼 수 있다

221220 Github, Gitbash 그리고 Gitflow 본문

개발🌐/Git | GitHub

221220 Github, Gitbash 그리고 Gitflow

roni_eo 2022. 12. 20. 13:31
반응형

✍️✍️✍️ 위 글은 작성자의 지식습득에 따라 추후 퇴고 될 수 있음을 알려드립니다(피드백 환영).

 

 


 

 

지난 Gitbash에 vim command와 git명령어들을 쳐보면서

Github에 코드를 보내고,작업의 단순화를 연습하는 시간을 가졌었다.

+ 협업과 안정적인 작업을 위해 gitflow라는 것을 배웠다.

 

git flow는 협업을 효율적으로하는 방법론인데,

(팀원끼리하는 개발약속정도 라고 생각하면 좋을것같다)

Vincent Driessen의 블로그에서 널리 퍼져 지금까지 표준으로 사용되는 방법이다.

아래는 내가 참고하는 gitflow sheet사이트

 

 

git-flow cheatsheet

 

danielkummer.github.io

 

 


 

 

이 작업에는 크게 5가지 브랜치로 나눠진다

 

git flow work flow
출처: https://expressus.io/diagrams/git-flow-workflow-diagram-template

 

.

⭐ master: 프로덕트배포를 위한 브랜치.

⭐ develop: 개발자들이 각자 작업한 내용을 merge하는 개발 브랜치

feature/branchName: 개발자들의 단위기능 작업용 브랜치, 여기서 작업후 develop으로 merge

release: 최종적으로 master에 보내기 전, 품질검사를 위한 브랜치

hotfix: (일어나선안되지만) master에서 배포 후 문제가 생겼을 때 사용하는 긴급수정 브랜치

 

 

⭐가 붙어있는 브랜치들이 가장 중요한 브랜치이고,

나머지 브랜치들은 필요에 의해, 팀원과 협업과정에서 운영되는 브랜치라고 생각하면된다.

 

 

이것을 통해 메바4기 팀원들과 모의협업을 해보는 시간을 가졌다.

아래 Gitflow 순서는, 프로젝트 클론 후의 과정과 겪은 이슈에 대해 간략히 적어 보았다.

 

 

 


 

 

Issue : git feature finish and branch merge to develop

자세한 설명:

기능 작업을 완료한 후 git feature finish 후 develop브랜치로 merge를 하고싶었으나

fatal: 어쩌구 저쩌구가 나왔다.

(캡쳐나 fatal내용을 복사해둘걸 당시 팀원에게 도움을 청하고 해결을 하느라 그러질 못했다.

추후 같은 오류가 나게되면 기입예정)

 

fatal의 내용은 git feature finish를 할 때 작업 브랜치 이름까지 command내용을 적지 않아 생기는 이슈였다.

(나는 작업브랜치 위치에서 브랜치이름을 적지 않더라도 command만작성하면 진행되는 줄 알았다.)

 

 

위 이슈를 해결하려면 아래과정으로 진행을 해야한다는걸 알게되었다.

Git flow work process

  1. put 'git flow init' in main branch
    1. gitbash에서 프로젝트  mainbranch위치에서 'git flow init' 입력
  2. after develop branch automatically put 'git flow feature start branch name'
    1. 자동으로 develop branch생성 후, 'git flow feature start branch name' 입력
  3. feature working to develop
    1. 생성된 기능브랜치에서 개발작업
  4. after work, 'git add file name' && 'git commit'
    1. 기능브랜치를 develop에 merge하기 위해선 기존 작업파일을 스테이징해주고,
    2. 커밋메시지를 작성해야한다.
  5. 'git flow feature finish branch name'
    1. 4번 작업 후 'git flow feature finish branch name' 현 위치 브랜치이름도 넣어서 command작성
  6. feature/branchName automatically delete && merge develop branch
    1. 작업브랜치는 자동삭제 + develop에 자동 merge된다.
  7. 'git push origin develop'
    1. github에 로컬에서의 새 작업내용을 보내기 위해 푸시하기
반응형

 


 

 

아무래도 협업이기 때문에 혼자서 여러 계정을 가지고 시뮬레이션을 해보기 보단

실제로 여러 사람들과 함께 여러 시나리오로 연습을 해봐야하고,

여러가지 포지션에 있어보면서(가령 팀장의 역할을 한다던지)

협업에서 여러상황에 대비를 해봐야한다는 생각이 들었다.

 

다음은 HTML/CSS! 

 

 

 

대표이미지 출처 : https://expressus.io/diagrams/git-flow-workflow-diagram-template

반응형