Ch 04. 빗버킷 소개
- 01. 빗버킷 소개 (3)
- 02. 빗버킷 활용 (4)
- 03. 빗버킷 소개 (3) 실습
- 04. 빗버킷 활용 (4) 실습
형상 관리
BitBucket은 github 와 마찬가지로 소스를 관리하는 웹 기반 버젼 관리 저장소 호스팅 서비스이다.
BitBucket은 Atlassian의 제품이며 Atlassian 제품들과의 연동이 가능하다.
형상 관리를 해야하는 이유
동일한 프로젝트의 소스코드를 다른 개발자와 공유할 공간이 없다면 개발자1이 수정하고 개발한 부분과
개발자2가 수정하고 개발한 부분을 합치는 것이 매우 용이하지 않을것이다. 만약 이 작업을 직접 수정한다면 다른 사람이 개발을 시작한 시점에는 수정하고 있지 않은 개발자는 할일이 없을것이다.
그래서 만들어진 것이 형상관리 이다.
과거에는 CVS, SVN등의 형상관리 툴이 있었고 최근에는 git 이라는 형태로 전략적으로 소스를 관리 운영할 수 있게 됐다. 즉 개인 PC 에서도 Repository를 관리할 수 있고, Server에서도 Repository를 관리하면서, 동시에 여러명이 소스코드를 합칠 수 있는 기능들을 제공해 준다.
브랜치 전략
처음 git을 만들어서 공간을 생성하게 되면 master 라는 공간이 생기게 된다.
운영 소스코드에 올릴 것을 master branch로 생각하고, 개발용 소스코드는 develop branch로 생각하면 이해가
편할 것이다. 브랜치 전략에는 다양한 방식이 있다. hotfix는 출시된 버전의 버그를 수정하는 것이고 기능으로 브랜치를 나눌경우에는 feature 라는 이름 밑에 이름을 정해주어서 기능이라는것을 명시하기도 한다.
개발용 소스코드의 branch는 개발 서버에 올리고 운영 서버의 branch는 운영에 올리면 확실히 소스관리가 명확해진다.
개발 규모가 큰 경우 여러 개발자들이 각각의 기능이 다른 branch를 사용하게 될텐데 여기서 각각 개발자들은 소스코드의 버전과 상태가 꼬이지 않게 주기적으로 pull을 해서 소스코드를 동기화 해야 한다.
서로 다른 개발자들이 동일한 코드를 수정하게 되면 에러가 발생하게 된다.
Git
- pull : 가져 오기 ( 서버 소스코드 저장소의 소스를 로컬에 가져온다.)
- add : 추가, 로컬 소스코드 저장소에 해당 파일이 생성 된 것을 알린다.
- commit : 로컬 소스 저장소에 파일의 수정 사항을 기록한다.
- push : 서버의 소스 저장소에 기록된 내용들을 전송한다.
BitBucket
여러명이 사용할 때는 비용이 발생하지만 개인이 사용할 경우 비용이 발생하지 않는다.
저장소 생성
저장소 복제
강의 영상에서는 eclipse를 이용해서 진행하지만 본인은 Git Bash를 이용해서 진행하겠다.
git clone https://[빗버킷 계정명]@bitbucket.org/[빗버킷계정명]/[repository명].git
* password는 아래 화면처럼 App password를 생성할 수 있다. (계정 비밀번호 X)생성 즉시 App passwords가 발급 되므로 저장하고 있다가 다음에 clone, pull, push시 사용하면 된다.잊어먹었을 경우 Revoke로 회수하면 된다.
권한을 선택해 줄 수 있다.
저장소 파일 추가
git add .
저장소 확인
branch는 master 이고 어떤 파일을 추가 했는지 리스트로 표시 된다.
$ git status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: .gitignore
new file: .mvn/wrapper/MavenWrapperDownloader.java
new file: .mvn/wrapper/maven-wrapper.jar
new file: .mvn/wrapper/maven-wrapper.properties
.
.
.
new file: src/main/webapp/WEB-INF/template/nobase.jsp
new file: src/main/webapp/WEB-INF/tiles/tiles.xml
new file: src/test/java/com/chicken/review/ReviewApplicationTests.java
저장소 커밋
git commit -m "적을 커밋 메시지"
저장소 PUSH
clone때와 동일하게 App Password를 입력한다.
git push https://[빗버킷 계정명]@bitbucket.org/[빗버킷계정명]/[repository명].git
Enumerating objects: 65, done.
Counting objects: 100% (65/65), done.
Delta compression using up to 12 threads
Compressing objects: 100% (50/50), done.
Writing objects: 100% (65/65), 2.76 MiB | 325.00 KiB/s, done.
Total 65 (delta 7), reused 0 (delta 0)
BitBucket에 정상적으로 push 된것을 확인할 수 있다.
BitBucket 브랜치 생성
master <- develop 계층적으로 생성되었다.
Local 브랜치 생성
git branch [브랜치명]
브랜치 전환
git checkout [브랜치명]
브랜치 푸시
git push origin [브랜치명]
브랜치 -> master pull request
생성한 PR에 대해서 수정 부분이 나오게 된다.현재는 개인이 모든 권한을 가지고 있기 때문에 PR, Merge등 다양한 기능을 사용할 수 있지만 개발 규모가 큰 경우 팀장급들이 해당 기능을 사용한다.
develop 브랜치에서 master 브랜치로 소스코드를 합치려면 Merge버튼을 클릭한다.
Commit 항목에서 브랜치가 합쳐진 기록을 볼 수 있다.
Git과 Github만 사용했었는데 BitBucket이라는 저장소도 처음 알게되었다. Atlassian 제품군에 대해 모르는게 많았는데 강의 시청하면서 여러가지 경험을 하고 있어서 많은 도움이 되는것 같다.
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'AWS' 카테고리의 다른 글
[AWS/Docker] 실전 클라우드 서버 구축 올인원 패키지 Online / 패스트캠퍼스 챌린지 10일차 (0) | 2021.09.15 |
---|---|
[AWS/Docker] 실전 클라우드 서버 구축 올인원 패키지 Online / 패스트캠퍼스 챌린지 09일차 (0) | 2021.09.14 |
[AWS/Docker] 실전 클라우드 서버 구축 올인원 패키지 Online / 패스트캠퍼스 챌린지 07일차 (0) | 2021.09.12 |
[AWS/Docker] 실전 클라우드 서버 구축 올인원 패키지 Online / 패스트캠퍼스 챌린지 06일차 (0) | 2021.09.11 |
[AWS/Docker] 실전 클라우드 서버 구축 올인원 패키지 Online / 패스트캠퍼스 챌린지 05일차 (0) | 2021.09.10 |
댓글