diff --git a/dev_git_only.sh b/dev_git_only.sh index 1f9b8a0..5152079 100755 --- a/dev_git_only.sh +++ b/dev_git_only.sh @@ -4,87 +4,57 @@ git add . git commit -am "auto commit" current_branch=$(git branch --show-current) git push origin $current_branch - # 마스터 브랜치와 병합 여부 확인 echo "You are currently on branch: $current_branch" echo "Would you like to merge the current branch with master? (Y/N) [Y]" - -# 10초 타이머 설정 -TIMEOUT=10 -REPLY="" - -# 카운트다운 타이머와 함께 입력 받기 -read -t $TIMEOUT REPLY & # 백그라운드에서 read 실행 -read_pid=$! # read 프로세스의 PID 저장 - -while [ $TIMEOUT -gt 0 ] && ps -p $read_pid > /dev/null; do - echo -ne "\rWaiting for input... ($TIMEOUT seconds remaining)" - sleep 1 - ((TIMEOUT--)) -done - -# 남은 read 프로세스 정리 -if ps -p $read_pid > /dev/null; then - kill $read_pid 2>/dev/null -fi - -echo # 새 줄 추가 - -# 입력이 없으면 Y로 설정 -proceed_merge=${REPLY:-Y} -echo "Selected option: $proceed_merge" - +read proceed_merge +proceed_merge=${proceed_merge:-Y} if [ "$proceed_merge" == "Y" ] || [ "$proceed_merge" == "y" ]; then - # 마스터 브랜치로 전환 및 업데이트 - git checkout master - git pull origin master - # 현재 브랜치를 마스터에 병합 - git merge --no-edit $current_branch - # 병합 결과 푸시 - git push origin master - # 원래 브랜치로 돌아가기 - git checkout $current_branch + # 마스터 브랜치로 전환 및 업데이트 + git checkout master + git pull origin master + # 현재 브랜치를 마스터에 병합 + git merge --no-edit $current_branch + # 병합 결과 푸시 + git push origin master + # 원래 브랜치로 돌아가기 + git checkout $current_branch fi - # 새로운 브랜치 생성 # 현재 날짜를 YYYYMMDD 형식으로 가져오기 current_date=$(date +'%Y%m%d') - # 브랜치 이름에서 날짜 부분 추출 branch_date=${current_branch:1:8} - # 현재 날짜와 브랜치 날짜가 같으면 뒤의 2자리 숫자를 증가시킴 if [ "$branch_date" == "$current_date" ]; then - # 브랜치 이름에서 뒤의 2자리 숫자 추출 - branch_number=${current_branch:9:2} - # 숫자를 10진수로 변환하고 1 증가시킴 - branch_number=$((10#$branch_number + 1)) + # 브랜치 이름에서 뒤의 2자리 숫자 추출 + branch_number=${current_branch:9:2} + # 숫자를 10진수로 변환하고 1 증가시킴 + branch_number=$((10#$branch_number + 1)) else - # 날짜가 다르면 01부터 시작 - branch_number=1 + # 날짜가 다르면 01부터 시작 + branch_number=1 fi - # 사용 가능한 브랜치 이름 찾기 while true; do - # 2자리 숫자로 포맷팅 - formatted_number=$(printf "%02d" $branch_number) - new_branch="V${current_date}${formatted_number}" - - # 로컬과 원격에 해당 이름의 브랜치가 존재하는지 확인 - if ! git show-ref --quiet refs/heads/$new_branch && - ! git ls-remote --exit-code --heads origin $new_branch > /dev/null 2>&1; then - break - fi - - # 존재한다면 숫자 증가 - branch_number=$((branch_number + 1)) -done + # 2자리 숫자로 포맷팅 + formatted_number=$(printf "%02d" $branch_number) + new_branch="V${current_date}${formatted_number}" + # 로컬과 원격에 해당 이름의 브랜치가 존재하는지 확인 + if ! git show-ref --quiet refs/heads/$new_branch && + ! git ls-remote --exit-code --heads origin $new_branch > /dev/null 2>&1; then + break + fi + + # 존재한다면 숫자 증가 + branch_number=$((branch_number + 1)) +done # 새로운 브랜치 생성 git checkout -b $new_branch - -# 새로운 브랜치 푸시 +# 새로운 브랜치 푸시 (원격 브랜치로 푸시하려면 git push origin $new_branch 실행) git push origin $new_branch - # 변경 사항 확인 -git status \ No newline at end of file +git status +# .env-dev 파일을 .env로 복사하여 원래 상태로 복원 +# docker-compose -f docker-compose-dev.yml up -d --build \ No newline at end of file