Git에 대한 스터디를 기록해보겠습니다.
Git push를 하기위해 반복되는 루틴을 더는 참을 수가 없었습니다.
쉘 스크립트를 사용하여 push를 자동화 해 보도록 하겠습니다.
1. 내 계정 설정
- Settings 클릭!
- 개발자 세팅 클릭!
- Personal access tokens 생성하기
2. Token 정보 입력
토큰 이름, 기간, 사용할 기능들을 입력 해 줍니다.
3. 생성 완료
token값을 아주 비밀스럽게 저장 해 두시면 됩니다.
잃어버리시면.... 다시 만날 수 없습니다.
1. vi 편집기로 파일을 생성과 동시에 오픈
> vi gitpush.sh
2. i 를 눌러 편집기 insert 모드로 변경 후
github_id
github_Token
github_Address
logFile
SourceDir
변수 값은 여러분들의 상황에 맞게 입력하시면 됩니다.
제가 나름대로 만들어 보았습니다.
아래 코드를 복붙 해주세요! ↓
gitpush.sh 📝
#!/bin/bash
date=`date`
github_id="id"
github_Token="access token key"
github_Address="git원격 주소"
logFile="로그 파일 생성 위치(절대 경로)/push.log"
SourceDir="소스 디렉토리 (절대 경로)"
cd $SourceDir
echo "git add . ..." && echo "git add . ..." > $logFile 2>&1
echo "`git add .`" >> $logFile 2>&1
echo "" && echo "" >> $logFile 2>&1 && echo "==" >> $logFile 2>&1
echo "git status" && echo "git status" >> $logFile 2>&1
echo "`git status`" >> $logFile 2>&1
echo "" && echo "" >> $logFile 2>&1 && echo "==" >> $logFile 2>&1
echo "git commit -m $date commit" && echo "git commit -m $date commit" >> $logFile 2>&1
echo "`git commit -m "$date commit"`" >> $logFile 2>&1
echo "" && echo "" >> $logFile 2>&1 && echo "==" >> $logFile 2>&1
echo "git push!" && echo "git push!" >> $logFile 2>&1
git push https://$github_id:$github_Token@$github_Address >> $logFile 2>&1
sleep 2
result="`awk '/Everything up-to-date/' $logFile 2>&1`"
echo "$result"
if [ -z "$result" ];then
echo "git push Success~!" && echo "git push Success~!" >> $logFile 2>&1
else
echo "!! git push ERROR! please check $logFile !!" && echo "!! git push ERROR! please check $logFile !!" >> $logFile 2>&1
fi
exit 0
위 스크립트를 좀 더 좋은 방향으로 개선하기 위해 노력 중🔥입니다.
아래 주소에서 사용 방법 및 더 최신의 스크립트를 보실 수 있습니다.
https://github.com/hunmin815/Git-Automation 👈 (새 창으로 열립니다)
3. 파일 저장
- :wq
4. 파일 권한 변경
파일 생성시 실행 권한이 보시다시피 없습니다.
실행 권한을 부여 해 주셔야 합니다.
> chmod 750 gitpush.sh
명령어를 실행 해 주시면
실행 권한이 생겼습니다. ('x'가 execute를 뜻 합니다.)
뭔가 파일 색깔도 기분좋게 바꼈죠?
아래와 같이 입력하시면 스크립트가 실행됩니다.
실패하시면 ERROR 로그가 발생합니다.> ./gitpush.sh
로그 파일도 생성되었습니다.
열어서 보시면
> cat push.log
수행된 로그가 남아있습니다.
많관부!
이상 마치도록 하겠습니다.
감사합니다!