main 브랜치에 바로 올리지 않는다.
(모든 오류가 없는 Git관리자가 승인한 코드만 올라가도록 함)
develope는 main을 복사하여 사용하고, 복사하여 개인사용 후 merge request 에서 최종합치기
(이렇게 잡고 브랜치를 생성해줘야 동급의 브랜치가 생성되고, 개인 사용을 해줘야 심각한 오류에서 벗어날 수 있다.)
develope에 올린 다음 로컬과 깃에서 branch 삭제 후 다시 사용
(remote에는 origin 브랜치를 남겨준다.)
커밋 메세지 간결하고 이해하기 쉽게 작성
(나만 보는 것이 아니다 - 커밋 컨벤션 참고)
한번에 너무 많은 양을 올려버리면 힘듦 (1일 1pr 날리기)
서로 의존성이 없는 기능으로 하기 (충돌)
공통기능은 신중하게 만들어야하고, 경력자가 하는 것이 좋다.
(전체 코드의 에러가 일어날수 있다.)
project board에 스케줄을 기록해줘도 되고, issues ⇒ New issues를 등록하여 체크할 수도 있음. 지라같은 툴로 작업이 겹치지 않게 체크할 수 있음. git checkout -b feature-#2 (해당 이슈번호로 체크하여 개발)
Repository 주소의 https://github.com/를 https://github1s.com/로 고쳐서 보면 vscode와 같이 볼 수 있어서 가독성이 좋아진다.
생성:
git init .git
Git과 연결:git remote add orign https: 연결할 곳
리모트 확인:git remote -v
임시저장:git add .
저장확정:git commit -m "메세지입력"
최신커밋취소+스테이지취소:git reset HEAD^
최근커밋취소+스테이지취소+여러개:git reset HEAD~n
커밋리셋:git reset / git reset --mixed HEAD
최근 커밋하기 전 상태로 작업트리를 되돌림:--soft
최근 커밋과 스테이징을 하기 전 상태로 작업트리를 되돌림(기본옵션):--mixed
최근 커밋과 스테이징, 파일 수정을 하기 전 작업트리로 되돌림(복구불가):--hard
커밋확인:git status
업로드 완료:git push origin브랜치 입력
브랜치 확인:git branch
브랜치 생성 후 이동:git checkout -b qqq
브랜치 merge:git merge develop(main에서 하기)
받아오기:git pull 브랜치 입력
검토 후 병합 요청하기:pull request (pr)
최상위에서 받아오기 - 회사 레파지토리:git pull upstream develop
cofig list 보기:
git config --list
이름변경:git config —global user.name "로건"
이메일변경:git config —global user.email "로건@이메일.com"
vim으로 변경:git config —global core.editor "vim"
이름삭제:git config --unset user.name
이메일삭제:git config --unset user.email
이름삭제(글로벌):git config --unset --global user.name
이메일삭제(글로벌):git config --unset --global user.email
default branch 확인: git config init.defaultBranch
default branch 변경: git config init.defaultBranch main
현재 branch 명 변경: git branch -m master main
setting → branches → default branch에서 변경할 수 있다.
git commit --amend -m "메세지"
오래전에 올린 commit 수정 or 한 번에 여러 commit 수정
커맨드 라인에 git log로 확인할 수 있는데(q를 누르면 나갈 수 있다), 이젠 수정하고 싶은 커밋 옆의 pick 이라는 문구를 reword 로 바꿔 주면 됩니다. git rebase -i HEAD~원하는개수이제 수정하고 싶은 커밋 옆의 pick이라는 문구를 reword로 바꿔주고 ctrl+X를 누른 후 => Save modified buffer? => Y => enter => 여기에 수정할 커밋메세지를 입력해준다. => ctrl+X => Save modified buffer? => Y를 반복하여, git log를 확인하면 수정된 것을 확인할 수 있다.
첫 번째 커밋은 밑의 명령어를 이용해야한다.
git rebase -i --root
pick 415f8ce 커밋메시지
reword c20bf33 커밋메시지 // 수정할 커밋
두 번째 커밋과 세 번째 커밋을 수정해보도록 하겠습니다.
git push --force 브랜치이름
Git flow전략은 소스코드를 관리하고 출시하기 위한 브랜치 관리 전략(branch management strategy) 중 하나. Git flow는 Git이 활성화되기 시작하는 시기에 Vincent Driessen가 블로그 글에서 제안한 workflow 디자인을 기반으로 만들어졌으며 현재는 많은 기업에서 Git으로 개발을 할 때 표준으로 사용하는 개발 전략이다.
Master: 제품으로 출시될 수 있는 브랜치
Develop: 다음 출시 버전을 개발하는 브랜치
Feature: 기능을 개발하는 브랜치
Release: 이전 출시 버전을 준비하는 브랜치
Hostfix: 출시 버전에서 발생한 버그를 수정하는 브랜치
참고자료
seongwon97
Inpa Dev