반응형

고기 대신 SW 한점/GIT 6

[git] Branch 브랜치 끝장내기 2

Branch 끝장내기 1에서 기본적인 Branch 명령어를 정리하였습니다. 이번엔 원격 브랜치에 대해서 간단히 정리하도록 하겠습니다. 깃은 다수의 개발자와 협업으로 코드를 유지할 수 있습니다. 주요 개발 작업들은 로컬 저장소에서 하지만 협업은 원격 저장소도 공유 합니다. 로컬 저장소도 하나의 저장소이고, 원격 저장소도 하나의 저장소 입니다. 깃은 분산형 버전 관리로서 다수의 저장소를 만들어 연결할 수 있기 때문입니다. 이번에는 브랜치를 이용하여 협업하는 것을 정리합니다. 원격 브랜치를 제공하는 git hosting 업체중 대표적인 회사가 github입니다. 추후에 github enterprise에 대해서 정리하도록 하겠습니다. 1. 리모트 브랜치 저장소는 각자의 고유한 브랜치를 생성하고 관리합니다. 원격..

[git] Branch 브랜치 끝장내기 1

소스 코드 이력을 관리하는 Version 외에 git과 같은 VCS 도구를 사용하는 또 다른 이유는 브랜치 작업 때문입니다. 각설하고 꼭 필요한 기능 위주로 정리하였습니다. 1. 브랜치 생성 깃의 브랜치를 생성하는 동작과 이동하는 동작은 별개입니다. 브랜치 생성은 branch 명령어를 사용하고, 브랜치 이동은 checkout 명령어를 사용합니다. $ git branch 'feature' 이라는 이름으로 브랜치를 만들어 봅시다. $ git branch feature 2. 브랜치 이동(전환) 아래와 같이 입력하여 'feature' 브랜치를 체크아웃 해 봅시다. $ git checkout feature Switched to branch 'feature' 생성과 함께 생성된 BRANCH로 이동 $ git che..

[Git]Conflict(충돌) 해결하기

git merge명령어의 주요 책임은 개별 분기를 결합하여 충돌하는 편집 내용을 해결하는 것입니다. 병합(Merge) 충돌(conflict) 이해 Marge와 conflicts는 Git 익스피리언스의 공통적인 부분입니다. SVN과 같은 다른 버전 제어 도구와의 충돌은 비용과 시간이 많이 소요될 수 있습니다. Git은 매우 쉽게 병합할 수 있습니다. 대부분의 경우 Git은 새로운 변경 사항을 자동으로 통합하는 방법을 알아냅니다. 일반적으로 두 사람이 파일의 동일한 행을 변경하거나 다른 개발자가 파일을 수정하는 동안 한 개발자가 파일을 삭제했을 때 충돌이 발생합니다. 이 경우 Git은 자동으로 무엇이 옳은지 판단할 수 없습니다. 충돌은 병합을 수행하는 개발자에게만 영향을 미치며, 나머지 팀원들은 충돌에 대해..

[Git] 개념잡기 1 (시작하기)

Git 설치. 깃을 사용하려면 먼저 깃 프로그램을 설치해야 합니다. 윈도, 리눅스, 맥등 여러 운영 체제에서 깃을 설치하고 사용할 수 있습니다. Mac OS X – Download .dmg file and install the Git core. Windows – Download .exe file and install. Linux – For Linux, we have many ways and multiple package managers are allowing us to install GIT core easily. Debian/Ubuntu – apt-get install git Fedora – up to Fedora 21 yum install git and for Fedora 22 and later dnf..

[Git]cherry-pick : 끝장내기

git cherry-pick은 브랜치 A에 있는 커밋을 선택하여 브랜치 B에 적용시킬 때 사용하는 명령어입니다. rebase도 원하는 커밋을 선택할 수 있지만 현재 브랜치 위에서만 가능합니다. 다른 브랜치의 commit을 가져오고 싶다면 해당 브랜치를 현재 브랜치로 merge 후 rebase 해야하는 제약사항이 있습니다. cherry-pick은 같은 내용을 가지고 있는 커밋을 여러개 생성하기 때문에 꼭 사용해야만 할 때 진행하는 것이 좋습니다. 커밋 체리픽 아래와 같이 있다고 가정할 때, develop 브랜치의 커밋 중 B,D,E 를 현재 master 브랜치에서 적용한다고 하면 다음과 같이 진행할 수 있습니다. # git cherry-pick {커밋 해시} git cherry-pick 34b4cab gi..

SW version 관리

Version 관리는 왜 필요할까요? 뭐 물으나 마나한 질문이죠. >협업이 필요한 큰 소프트웨어는 운영이 필요! >여러 사람의 코드들의 이력 관리 필요! >리눅스 창시자 '리누스 토르발스'가 같은 고민을 했는지 우리가 원하는 Git을 2005년에 만들어 무료로 배포했습니다. 자체 Version 관리 >Git은 폴더 내부에 숨겨진 저장소를 생성하여 파일의 이력을 관리합니다. >Git은 초기화하여 자체 코드를 관리할 수 있는 DB를 생성합니다. 분산형 Version 관리 >자체 이력 관리와 다른 저장소와 통신하여 결과물을 전송할 수 있습니다. 분산 예 Git의 소스코드는 Github의 아래에 공개 되어 있습니다. >https://github.com/git/git SW 개발자나 관련 업무를 담당하는 이들에게 ..

반응형