코딩테스트 레포에 일정 시간마다 제가 출제한 문제들의 solved 티어를 업그레이드 하는 작업을 만들었습니다. 이를, github action을 이용하면 매우 간단하게 할 수 있는데요. 간단하게 알아보겠습니다. 먼저 제 cicd_test 레포에 아래와 같이 세팅하였습니다. .github 밑에 workflows에 자동으로 실행할 작업들을 정의합니다. auto.yml 파일을 보겠습니다. 일정 시간마다 자동으로 스크립트를 실행하는 것은 스케쥴러가 하는 일입니다. 그렇기 때문에, on:의 schedule:을 이용해서, 해당 Script가 실행될 시간을 잡아주었습니다. cron 형식으로 */15 * * * * 이라는 정보를 넘겨주었는데요. 이는, 매 15분마다 실행됨을 의미합니다. 상당히 많이 쓰이니 이 사이트를..
GIT 검색 결과
안녕하세요. 이번시간에는 stage 상태와 tracked, untracked 상태에 대해서 간단하게 짚고 넘어가 보겠습니다. 먼저 .gitignore에 .env가 들어가 있습니다. ls-files로 파일들을 조회해 보겠습니다. git ls-files를 입력하면, track 되는 파일들이 나오게 됩니다. -o 옵션을 붙이면, 다른 파일들이 나오게 됩니다. .env가 나왔네요. 이는 .env는 untracked 됨을 의미합니다. 저는 이 상태에서 1.txt와 .env 파일에 무언가를 추가하였습니다. 다음에 git status를 보겠습니다. 보니까, modified: 1.txt라고만 떠 있습니다. 즉, 깃으로부터 변경 사항이 추적되는 파일을 tracked file이라고 하고, 그렇지 않고 무시되는 파일을 un..
git rm에서 --cached 옵션을 붙이는 경우가 왕왕 있습니다. .gitignore에서 뭔가 추가할 때 많이들 쓴다고 하던데요. 무엇을 하는 명령어일까요? 간단하게 알아보겠습니다. 먼저, git status를 보겠습니다. .env가 새로 추가되었고, 2.txt가 수정되었다고 합니다. 이 상태에서 .gitignore 파일을 새로 만들겠습니다. 이 파일에 .env를 추가한 다음에 git add .을 해 보겠습니다. 다시 git status를 보니, .env가 그대로 변경 내역에 있습니다. 왜 그럴까요? 캐시 상태를 보겠습니다. git ls-files -c를 입력해 보겠습니다. 캐시된 파일들을 보여주는 것입니다. 보니까, .env, .gitignore, 1.txt, 2.txt, README.md가 있음을..
git에서 cherry pick 명령어가 있습니다. 요약하면, 다른 브랜치에 있는 커밋을 선택적으로 선택해서 내 브랜치에 적용하려고 할 때 쓸 수 있는 명령어입니다. 예를 들어, 내가 커밋 1을 cho라는 브랜치에 했고, 커밋 2를 cho라는 브랜치에 또 했다고 했습니다. 그런데, 커밋 1이 버그가 너무 많아, 커밋 2만 반영해야 한다고 해 봅시다. 이럴 때 쓸 수 있습니다. 간단하게 실습을 해 보도록 하겠습니다. 먼저 test1 브랜치에는 7cf2e113, 317e0554 순으로 커밋이 올라왔다고 하겠습니다. 7cf2e..는 1.txt에 Hi라는 것이 추가되었습니다. 다음에, 317e0..에는 2.txt에 Yabaeii라는 것이 추가되었습니다. 이제 우리는 test2라는 브랜치에, 반영되지 말아야 할 ..
안녕하세요. 이번 시간에는 git revert에 대해서 간단하게 알아보겠습니다. 먼저, 현재 제 git graph입니다. 7 line add 커밋을 HEAD가 가리키고 있습니다. 이 커밋이 가장 최신입니다. 5 line add, 6 line add, 7 line add 순으로 커밋이 쌓인 셈입니다. 각각 HEAD~2, HEAD~1, HEAD를 의미합니다. git revert는 되돌리기를 하면서 기록을 커밋에 남깁니다. 이 점이 중요합니다. git revert HEAD~3..HEAD~1을 입력해 보겠습니다. 요렇게 범위를 주면, HEAD~3 커밋으로부터 HEAD~1의 커밋 상태가 되기 까지 변경사항을 revert 합니다. HEAD는 7 line add를 가리킵니다. HEAD~1은 6 line add, HE..
최근댓글