본문 바로가기

git5

git flow vs github flow 이번에 배포 프로세스를 변경하면서 github flow에서 변형 git flow를 사용해 보게 되었다. 이 둘의 차이점을 공부한 김에 정리해두고자 한다. 1. Git Flow Git flow는 Vincent Drissen이 2010년 그의 블로그에 올린 A Successful Git branching model이라는 글이 인기를 끌면서 대중적으로 사용되기 시작한 브랜치 전략이다. 크게 두 가지 종류의 브랜치가 존재한다. Long living branch: master(main), develop Short living branch: feature, release, hotfix Master(main) 브랜치 Production으로 나간 코드를 모아놓은 브랜치이다. 여기에 존재하는 코드는 QA가 완료되고, 출.. 2024. 1. 27.
[후기] Sapling 써보기 Graphite 유료화 이슈로 다른 stacked diff 툴을 찾아보다가 다른 동료 분이 추천해주신 sapling을 써보려고 한다. 웹페이지: https://sapling-scm.com/ 소개 Sapling은 Meta에서 개발하고 사용하고 있는 source control system이다. Meta 안에서는 큰 모노레포를 위해서 사용되지만, 개발자 개개인을 위해 Git이나 Github와의 호환을 지원한다. 개발된 이유 역시 메타의 모노레포 스케일에서는 다른 오픈소스 source control system이 제대로 동작하지 않기 때문이라고 한다. 설치 맥북에서 설치는 꽤 간단하다. homebrew를 이용해 설치하면 된다. brew install sapling 이후 간단한 설정이 필요하다. commit au.. 2023. 11. 5.
graphite 사용기 약 1년간 Graphite를 사용해 보고 느낀점을 간략히 정리해보고자 한다. 웹페이지: https://graphite.dev/ 소개 Graphite는 작은 단위의 pull request를 가능하게 하는 code review platform이다. Graphite cli 자체는 git 명령어를 wrapping해서 만든 cli이다. Graphite workflow는 3가지 원칙을 통해 normal git workflow를 강화시킨다. Pull request를 작게 유지시킨다. Trunk branch와 remote branch를 잘 동기화하고, branch restack을 자주 할 수 있게 한다. Branch별로 하나의 커밋을 유지한다. 이미 많은 개발자들은 큰 change를 여러 개의 commit sequen.. 2023. 10. 23.
[TIL] Git Server git 시스템은 아마 개발자들이 가장 많이 이용하는 시스템 중 하나이다. 다양한 사람들이 작성한 소스를 합치고 소스코드를 버전 관리할 수 있기 때문이다. 이를 위해 원격 저장소로는 github, gitlab 등 다양한 플랫폼이 존재한다. 하지만, 이들 서버로는 만족하지 못하는 경우가 존재하는데, 예를 들어 1) private 환경에서 서버를 구동하거나 2) 파일의 용량이 너무 큰 경우 가 존재할 수 있다. 위와 같은 니즈가 존재할 때 필요한 것이 custom git server이다. 설치하기 기본적으로 원격 저장소의 경우 워킹 디렉터리가 없는 bare 형태로 되어 있다. 실제 데이터는 없고 git 데이터만 존재한다. $ git clone --bare my_project my_project.git 프로토콜.. 2022. 5. 15.