Branch?
소프트웨어를 개발할 때에 개발자들은 동일한 소스코드를 함께 공유하고 다룬다. 동일한 소스코드 위에서 어떤 개발자는 버그를 수정하기도 하고 또 다른 개발자는 새로운 기능을 만들어 내기도 한다. 이와 같이 여러 사람이 동일한 소스코드를 기반으로 서로 다른 작업을 할 때에는 각각 서로 다른 버전의 코드가 만들어 질 수 밖에 없다.
브랜치는 개발자들이 동시에 다양한 작업을 할 수 있게 하는 기능이다
각자 독립적인 저장소에서 마음대로 소스코드를 변경할 수 있다
분리된 작업 영역에서 변경된 내용은 나중에 원래의 버전과 비교해서 하나의 버전으로 만들어 낼 수 있다.
1. Master Branch
•
저장소를 처음 만들면 생기는 브랜치
•
제품으로 출시될 수 있는 브랜치
•
배포 가능한 상태만을 관리
•
== Main branch
2. Develop branch
•
기능 개발을 위한 브랜치들을 병합하기 위해 사용하는 브랜치
•
기능이 추가되고 버그가 수정되면 master 브랜치에 병합(merge)한다.
3. Feature branch
•
기능을 개발하는 브랜치
•
새로운 기능 개발 및 버그 수정이 필요할 때 develop 브랜치로 부터 분기한다.
•
개발이 완료되면 develop 브랜치로 병합(merge)
•
공유할 필요가 없기 때문에 자신의 로컬저장소에서 관리한다.
4. Release branch
•
이번 출시 버전을 준비하는 브랜치
•
출시를 위한 최종적인 버그 수정등의 개발을 수행
•
develop 브랜치에서 분기되며 develop,master 브랜치로 병합(merge)
5. Hotfix branch
•
배포한 버전에 긴급하게 수정을 해야 할 때 사용하는 브랜치
•
master 브랜치에서 분기
•
develop,master 브랜치로 병합 (merge)
커밋과정에서 주의 할 점
.gitignore을 사용해야 하는 이유
파일 백업 정보, 제품 빌드 정보등의 로컬 구성을 원격저장소에 올리지 않기 위해
데이터 충돌, 불필요한 접근을 막기위해
불필요한 파일을 같이 올리지 않기 위해
회고
-메소드 추상화
반복되는 코드를 줄이기 위해
/*
if ( firstNum % 2 ==0 ){
System.out.print("짝수");
}
else {
System.out.print("홀수");
}
System.out.print("+");
if ( secondNum % 2 ==0 ){
System.out.print("짝수");
}
else {
System.out.print("홀수");
}
System.out.print("=");
if(resultNum % 2 == 0 ){
System.out.print("짝수");
}
else{
System.out.print("홀수");
*/
public static String getEvenOdd(int num) {
//메소드 추상화 - 중복 제거 !!!
//숫자를 받아서 짝수 홀수 리턴
if ( num % 2 ==0 ){
return "짝수";
} else {
return "홀수";
}
}
Java
복사