프로그래밍/Git(11)
-
git flow
trunk: 하나의 중심 브랜치로만 관리하는 것 trunk based flow: 하나의 중심 브랜치에서 필요할 때만 브랜치를 분기하는 것 Git flow master, develop 브랜치는 영구적으로 존재함 hotfix, felease, feature 브랜치는 필요할 때마다 만들고, 머지 후에 삭제함 feature --> develop --> release --> master 큰 규모의 팀에 유용 퀄리티 보장이 중요한 프로덕트에 유용 release 된 프로덕트에 대한 관리 사이클이 긴 경우 유용 master 브랜치 (main 브랜치) 소비자가 사용하는 제품이 존재하는 브랜치 release 브랜치로부터 pull request 받음 부모 브랜치: X 자손 브랜치: hotfix, develop PR 받는 브..
2023.02.07 -
git 협업하기
Github 로 협업하기 1. github collaborator (협업자) 로 등록하기 repo > Settings > Collaborators > add people 이름 또는 이메일 입력 후 초대하기 초대받은 사람이 이메일에서 초대를 수락 해야 협업자가 됨 해당 repo 에서 push, pull 등 가능 2. git clone 으로 프로젝트 시작하기 git clone [repo 주소] git clone epo 를 그대로 내 컴퓨터로 가져오고 싶을 때 사용하는 명령어 단순한 다운로드와는 다르게 commit 기록, history 를 모두 가져옴 git reset 명령어를 통해 이전 기록으로 돌아갈 수 있음 pull, push 등을 통해 실제 repo 에 수정 사항을 반영하거나 내려받을 수 있음 clon..
2023.02.06 -
Git/Github (3)
[ 브랜치 전략 ] git flow (hotfix) - master -(release) - develop - feature 주요 브랜치 두개(master, develop)를 사용하는 전략이다. 가장 많이 적용하고 있고 각 단계과 명확하게 구분된다는 장점이 있지만 복잡할 수 있다는 단점이 있다. develop 에서 각각 기능을 개발하고 릴리즈를 거쳐서 master 브랜치에 적용된다. github flow master - feature git flow가 Github에서 사용하기에는 복잡하다고 해서 등장한 전략이다. master 브랜치는 항상 최신 상태이고, 항상 배포가 가능한 상태이다. 브랜치 모델을 단순화 했다는 장점이 있지만 CI 의존성이 높다는 단점이 있다. 정기적인 릴리즈가 없지만 바로바로 업데이트가..
2022.09.28 -
Git/Github (2)
Branch 특정한 시점으로부터 분기점을 생성하여 독립적으로 코드를 변경할 수 있도록 도와주는 모델을 의미한다. # 사용 가능한 로컬 브랜치 보기 $ git branch # 사용 가능한 리모트 브랜치 보기 $ git branch -r # 사용 가능한 모든 브랜치 보기 $ git branch -a Branch 변경하기 # checkout 은 두 가지 기능을 해서 명령어가 나누어짐 # 현재는 switch 를 많이 사용함 $ git checkout [브랜치명] $ git switch [브랜치명] merge $ git merge [브랜치명] 특정 브랜치에서 작업한 내용을 당겨온다. 내용을 당겨온다고 해서 해당 브랜치의 내용이 이동하는 것은 아니다. 브랜치의 내용은 사라지지 않고 기록이 남아있다. Branch 삭..
2022.09.28 -
Git/Github (1)
UNIX 1965년 데니스 리치, 켄 톰슨 등이 벨 연구소에서 어셈블리어로 작성한 운영체제이다. 주로 서버용 컴퓨터에서 사용된다. Kernel 하드웨어와 응용프로그램 간의 인터페이스 역할을 해주는 시스템 소프트웨어를 말한다. Linux 1991년 리누스 토발즈가 작성한 유닉스 계열의 운영체제이다. PC, 모바일, 서버, 임베디드 시스템 등의 다양한 분야에서 활용된다. Redhat, Debain, Ubuntu, Android 등의 다양한 배포판이 존재한다. Shell 사용자의 명령어를 인식하여 프로그램을 호출하고 명령을 수행하는 명령어해석기이다. 시스템과 사용자간의 인터페이스를 역할을 해준다. - bash Brian Fox 가 작성한 유닉스 쉘이다. 현재 리눅스의 표준 쉘이며 다양한 운영체제에서 기본 쉘로..
2022.09.28 -
[Git] 충돌 (Conflict) / 로컬 병합(Merge)
원격 저장소로 push 하려는 파일의 로컬의 버전과 원격 저장소의 최신 버전이 일치하지 않을 경우 push 명령어 실행 시 명령이 거부된다. 이러한 경우의 해결 방법은 다음의 몇 가지가 있다. 이전 버전으로 되돌리기 git reset --hard HEAD~1 원격 저장소로 push 하려는 버전을 한 단계 이전으로 되돌린다. 한 단계 이전 버전은 원격 저장소에 반영되어 있는 최신 버전이므로 되돌리는 것이 가능하다. 원격 저장소의 버전을 가져와 새로운 버전 만들기 git pull origin master 원격 저장소의 master 브랜치의 최신 버전을 로컬로 가져온다. 해당 명령어를 실행하면 conflict 가 발생했다는 메시지가 표시된다. > ec6eb7a ... (수신 변경 사항) 원격 저장소에서 가져온..
2022.09.23