목록Git&Github (5)
Simple&Natural
현재 커밋 이전에 merge 된 커밋이 존재하고 이 merge 커밋의 메시지를 수정하고 싶다면 git rebase -i -p head~2 해당 명령 후 merge 커밋에 reword를 달고 메시지 수정 후 재커밋을 하면 된다. --prevent-merges 를 deprecated 되었다고 하는데 어쩐 일인지 --rebase-merges 는 동작하지 않고 prevent만 동작한다. 추후 살펴봐야 함.
우선 기존에 제가 입사해서 처음 맡았던 프로젝트입니다. master가 있고, 하나씩 브랜치를 만들어 기능을 만들고 다시 master에 병합하는 구조입니다. 처음엔 저도 간단한 커밋 이외에는 깃을 사용하는 방법도 몰랐고 이렇게 관리하는 것에 큰 문제점을 느끼지 못했기 때문에 이와 같은 형태로 계속 관리를 하고 있었습니다. 하지만 하나 둘씩 겹치는 일정이 생기고 동시에 처리할 이슈들이 많아지다보니 기존의 방식으로는 도저히 브랜치 관리가 되지 않았습니다. 그래서 다음과 같은 브랜치 형태로 관리를 시작했습니다. 브랜치는 다음과 같은 4가지 형태가 있습니다. feature - 개발이나 수정사항이 들어오면 develop 브랜치에서 생성한다. develop - 개발이 완료된 기능들 중 배포를 원하는 feature를 ..
협업을 하던 개인 프로젝트를 진행하던 소스코드의 형상관리 방법으로 가장 많이 쓰이는 것이 Git입니다. 단순히 소스코드를 기록하는 용도를 넘어서 효율적으로 관리할 수 있는 방법은 없을까요? 현재 널리 알려져 있는 방법과 제가 개인적으로 사용하고 있는 깃 형상관리 전략에 대해 공유하고자 합니다. 가장 널리 쓰이는 전략으로는 크게 다음과 같은 세 가지가 있습니다. Git-flow 2010년에 Vincent Driessen이 처음 제안한 방법으로 형상관리 전략으로 가장 널리 알려져 있습니다. master : 제품으로 출시될 수 있는 브랜치 develop : 다음 출시 버전을 개발하는 브랜치 feature : 기능을 개발하는 브랜치 release : 이번 출시 버전을 준비하는 브랜치 hotfix : 출시 버전에..
git add -p : 변경내역 표시 후 add git add * : 모든 변경내역 stage에 올림 git reset head [파일명 혹은 입력x] : 변경내역 취소 git commit -m "" : 해당 메시지로 커밋 git push [원격저장소 이름] [브랜치 이름] : 해당 원격브랜치에 해당 브랜치로 push git checkout [커밋 혹은 브랜치명] : 특정 커밋으로 이동하고 싶으면 해시값을 입력한다. 브랜치명을 입력하면 해당 브랜치의 최근 커밋으로 이동. git branch [브랜치명] : 브랜치 생성. git log --branches --graph --decorate : 모든 브랜치의 커밋내역을 그래프로 표시하여 보여줌.