git 입문

김명성·2022년 4월 1일
0

git

목록 보기
1/2

이번주에 내가 알게 된 지식

  1. terminal 명령어 - touch , mkdir, cd, cp, mv, vi 등 마우스 없이 디렉토리의 구조를 만들고 변경해보았다. 키보드로만 작업한다는 점이 처음에는 불편했지만, 익숙해질수록 마우스 사용을 최소화 할 수 있는 다른 명령어들도 살펴볼 정도로 편리함을 알게 되었다.
  2. git add , commit, push에 따른 파일의 저장 구조
    git이 없다면 작성한 파일은 working directory에 저장되고, git의 명령어를 사용하여 파일을 저장할 때, 명령어 add는 staging area, commit은 localrepo, push는 repote repo로 각각 이동되는 것을 알게 되었다. 원격 저장소(repote repo) 전까지의 작업은 나만 알 수 있기에, push 이전까지 수정,업데이트,보완 등을 통해 꼼꼼히 파일을 정리한 후 원격 저장소에 push 해야겠다는 생각이 들었다.
  3. bottom-up 보다는 top-down이 편리하다.
    git init을 통해 파일을 생성하여 commit,push 하기보다는, 원격 저장소를 먼저 만든 이후에 clone 또는 pull로 내려받고 작업한다면 시간,자원상 이득이라는 점을 알게 되었다.
  4. commit convention

    - commit의 제목은 commit을 설명하는 하나의 구나 절로 완성하고 prefix를 꼭 달아주어 어떤 commit인지 명시한다.
    - commit은 동작 가능한 최소 단위로 자주 할 것.
    - 모두가 이해할 수 있는 log 작성.
    - Open Source Contribution에는 영어 강제
    - 제목은 축약하여 쓰되 내용은 문장형으로 작성하여 추가 설명한다.
    feat: 기능구현 Create index.js to start main project
    docs: 문서작성 : Create.README.md and wirte explanation for working
    fix: bug수정 : doesn't working button tag in index.js
    refactor: 기능개선 : efficient refactoring if statement in onClick function in index.js
    1. 팀 프로젝트 시의 git flow
      팀장이 repo 생성 후 git clone으로 작업환경을 만든다.
      작업폴더에 git flow init으로 git flow를 시작한다!
      먼저 branch가 develop에 있는지 확인하고
      작업할 파일을 touch를 통해 생성한다.
      파일을 작성한 뒤에 git add , commit, push를 한다.
      push를 할 때에는 develop branch로 push하여 remote repo에도 develop 브렌치가 생성될 수 있게 한다.
      git push -u origin develop (브렌치 github에 생성)
      이후 팀원에게 해당 내용을 전달한다
      팀원은 저장소에 바로 push 할 수 있는 권한이 없기 때문에 clone이 아니고 fork로 진행한다.
      forked repo 주소를 복사하고 작업폴더에 git clone 실행.
      팀원도 작업폴더에서 git flow init하여 branch를 develope으로 변경한다.
      develop은 클론했기에 같은 상태일 것이고 팀장이 작업해놓은 file확인한다.
      git flow feature start MyFeature
      feature로 branch 생성 후 작업을 시작한다.
      작업 완료 후 git add,commit 진행하고
      작업 종료시에는 feature를 finish한다.
      git flow feature finish MyFeature
      git push -u origin develop
      github에서 issue 생성
      ( Create task list )
      -[ ] # foo
      -[ ] # bar
      -[ ] # baz
      팀장이 comfirm : Compare & pull request
      branch 일치 확인
      Reviewers, Assignees, Labels 확인
      Request changes 체크 후 submit
      팀원은 issue comment를 확인한다.
      technical issue는 comment로 답장.
      문제 당 커밋을 나누어서 진행해야함.
      commit 1.
      add, commit do fizzbuzz more pythonic
      commit2.
      add,commit : refactor : do fizzbuzz with 1 if statement
      git push origin develop
      작업한내용은 pull request의 아래에서 확인
      팀장은 viewed 클릭 and Merge pull request
      이후 팀장은 git pull origin develop
      다른 팀원2,팀원3,팀원4
      팀장의 repo 주소 복사
      git remote add upstream 주소
      git remote -v로 확인
      방법1.
      git fetch upstream develop
      fetch는 코드를 가져와서 임시 branch에 담아 놓음.
      여기서 원하는 부분만 또는 전체를 받을 수 있음.
      git merge FETCH_HEAD
      또는
      방법2. git pull upstream develop

0개의 댓글