목록Git (7)
한 걸음씩 기록하며
앞서 살펴본대로, Github의 모든 branch는 Master에서 분기되고, 머지된다. 즉 마스터 관리를 잘해야한다. 하나의 remote 저장소를 가지고 협업하면서 커뮤니케이션이 잘되지 않으면, 혼란스러운 일이 발생할 수도 있기 때문이다. 👉🏻 이를 위해서 Github는 Pull Request 기능을 제공한다. 💡 Github로 협업하는 것에 있어서 핵심은 Branch와 Pull Request이다. 1) Github work flow (1) A 라는 브랜치 생성 (2) A브랜치에 T라는 파일을 추가하고 커밋 (3) A 브랜치를 원격 저장소에 Push (4) Github에서 푸시된 A 브랜치를 Pull Request (5) Github에서 코드 리뷰 (6) Github에서 변경사항을 main 브랜치에 M..
1) 특징 자동화 개념이 탑제되어 편리하다. 별도의 브랜치가 다수로 분리되어있지 않다. master 브랜치로부터 모든 브랜치가 나온다. 따라서 브랜치 이름을 명확하게 작성할 필요가 있다. master 브랜치는 언제나 배포가 가능해야하기 때문에, 언제나 stable 해야한다. master로 merge를 진행하기 위해서는 꼭 PR을 통해 리뷰를 받고 merge를 진행한다. 2) 장단점 장점 branch 구성 전략이 단순하다. 처음 git에 대해 접하는 사람에게는 좋은 시스템이 되어준다. Github사이트에서 제공해주는 기능을 모두 사용해 작업을 진행하게 도와준다. 코드 리뷰를 자연스럽게 사용할 수 있다. CI가 필수적이며 또한 배포를 자동으로 진행할 수 있다. 단점 CI와 배포 자동화가 되어있지 않은 시스템..
1) Git flow의 구조 기본적으로 Five Branch로 구분된다. feature > develop > release > hotfix > master 5개의 브랜치 중에 가장 많이 사용되는 branch는 master와 develop이다. 나머지 feature, release, hotfix branch는 사용하지 않는다면, 깔끔한 프로젝트 진행을 위해 원한다면 지웠다가 다시 활용하곤한다. 대부분의 작업은 develop에서 취합하고, 테스트를 통해 변동사항이 없다 싶을 때, master로 병합된다. 2) 각 branch의 기능 Master production을 위한 브랜치이다. 공식적으로 사용자에게 제공되었던 버전들만 모아놓는 브랜치라고 할 수 있다. develop base branch : master..
1. Github에는 왜 branch 개념이 있을까? 근본적인 이유는 master에 변경 내용을 반영하지 않기 위해서다. master는 완제품과 같다. 불완전한 변경사항의 적용이 master와 합쳐지는 것을 막기위한, 하나의 작업공간이라고 이해하면 된다. 1) brnach 기본 명령어 $ git branch : 현재 branch가 출력된다. (기본이라면 master) $ git branch 브랜치명 : 브랜치명의 브랜치가 만들어진다. $ git switch 브랜치명 : 브랜치명의 브랜치로 이동한다. $ git checkout 브랜치명 : 위와 동일(구 버젼 명령어) $ git switch -c 브랜치명 : 브랜치명의 브랜치를 만들면서 이동한다. $ git tag -a 태그이름 -m 태그설명 브랜치 : 해..
1. Remote 저장소 리모트 저장소는 인터넷이나 네트워크 어딘가에 있는 저장소를 말한다. 저장소는 여러 개가 있을 수 있는데 어떤 저장소는 읽고 쓰기 모두 할 수 있고 어떤 저장소는 읽기만 가능할 수 있다. 간단히 말해서 다른 사람들과 함께 일한다는 것은 리모트 저장소를 관리하면서 데이터를 거기에 Push 하고 Pull 하는 것이다. 리모트 저장소를 관리한다는 것은 저장소를 추가, 삭제하는 것뿐만 아니라 브랜치를 관리하고 추적할지 말지 등을 관리하는 것을 말한다. 1) 리모트 저장소 확인 및 추가 $ git remote : 현재 프로젝트에 등록된 리모트 저장소를 보여준다. $ git remote -v : 등록된 모든 리모트 저장소의 단축 이름과 URL을 함께 보여준다. $ git remote add ..
1. 버전 저장소 만들기 $ mkdir 폴더명 : - 프로젝트 폴더를 생성 $ cd 폴더명 : 해당 폴더 이동 /폴더명 $ git init : 현재 디렉토리를 git의 버전 저장소로 만든다. /폴더명 $ git config —global user.name /폴더명 $ git config —global user.email 2. 기본 명령어 $ git status : 마지막 커밋 이후 작업공간에서 변경이 일어난 모든 파일들을 나열하는 명령어이다.. 현재 추적되고 있는 파일을 초록색으로 표시하고 그렇지 않은 파일은 빨간색으로 나타난다. $ pwd : Print Working Directory $ ls : 현재 디렉토리 내의 모든 파일 리스트를 보여준다. $ ls -al : 현재 디렉토리 내의 모든 파일의 자세..
Git 이란? Version Control System (버전 관리 시스템) : 소스 코드의 변경 사항을 관리하는 시스템 버전관리, 백업, 협업 할 수 있게 해주는 시스템 (version, backup, collaborate) 버전관리 시스템 : GIT, CVS, SVN 등.. GIT 현 시점에서 가장 많이 사용되는 버전 관리 시스템 Git Client : Git command line program(source tree, github desktop 등..) Git Server : Git 원격 저장소 (가장 유명한 것이 Github) Github는 소스코드의 변경 사항을 관리하는 온라인 서비스이다. Github를 통해 백업, 공유, 협업이 가능하다. Workflow of git Working direct..