-
Notifications
You must be signed in to change notification settings - Fork 25
/
start.sh
45 lines (40 loc) · 1.08 KB
/
start.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/usr/bin/env bash
currentBranch=$(git rev-parse --abbrev-ref HEAD)
taskBranch=$1
validateTaskBranch() {
if [ $(git branch -r | grep -w -c "${1}") -eq 0 ]
then
echo 아직 준비되지 않은 내용입니다.
exit 1
fi
}
initCurrentBranch() {
if [ "$currentBranch" != "main" ]
then
echo "현재 main brnach에 있지 않습니다. main brnach 로 이동합니다."
git checkout main
fi
}
switchTaskBarnch() {
initCurrentBranch
validateTaskBranch $1
echo "load -> $1"
if [$(git branch | grep -w -c "${1}") -eq 0]
then
git branch $1
fi
git checkout $1
git pull origin $1
bash ./task.sh
}
case $taskBranch in
"week2") switchTaskBarnch week2/branch-and-merge
;;
"week3") switchTaskBarnch week3/reset-and-revert
;;
"week4") switchTaskBarnch week4
;;
"") echo "과제 주차를 입력해주세요. ex week2"
;;
*) echo "$1 과제는 없습니다, 다시 확인해주세요" && echo "혹은 week(과제 주) 로 입력하셨는지 확인해주세요. ex) week2"
esac