본문 바로가기

개발의 정석/툴, 기타8

[#git] 파일은 그대로 두고 모든 커밋 초기화하기(commit init) 커밋 내역이 많을수록 git에서는 이 변경 내역을 프로젝트 내부의 .git 디렉토리에 모두 저장하기 때문에 용량이 커질 수 밖에 없다. 그리고 커밋이 너무 많아 파일은 그대로 두고 커밋만 깔끔하게 초기화, 정리하고 싶은 경우있다. 이때 파일은 그대로 두고 모든 커밋을 초기화 하는 방법에 대해 알아보자 1. 기존 .git 디렉토리 지우기 프로젝트 디렉토리 안에 있는 .git 디렉토리를 지워 git 히스토리 내역을 모두 지워준다. 이때 기존 프로젝트 파일에는 전혀 영향이 없으니 안심해도 좋다. rm -rf .git 2. git 초기화 및 추가, 커밋 .git 디렉토리를 지웠으므로 git과 관련된 정보가 모두 사라진 상태이다. git init으로 새로 git 을 초기화하고, 기존에 작업해둔 프로젝트 파일들을 .. 2020. 4. 3.
[#git] user 및 commit한 author 변경 git commit을 하다보면 원치않는 아이디로 커밋이 된 경우를 많이 볼 수 있다. 이번 포스팅에서 이전 커밋의 user, author을 바꾸는 방법에 대해서 알아보자 1. git user 설정 우선 git user 부터 다시 설정해주자. 아래 명령어는 추후 사용자를 변경하고 싶을 때도 그대로 사용할 수 있다. git config --global user.name "korband" git config --global user.email korband78@gmail.com 만약에 특정 repository 에만 user을 다르게 설정하고 싶다면 --global 플래그를 빼고 수행하면 된다. git config user.name "korband" git config user.email korband78@gm.. 2020. 3. 26.
[#git] 여러 커밋(commit) 하나로 합치기 의식의 흐름(?)으로 개발을 하다보면 똑같은 커밋 메세지 또는 대충 쓴 커밋 메세지로 푸시하는 경우가 많다. 이런 경우 커밋 메세지를 하나로 합치거나 수정할 수 있으니 정신이 맑은 날에 한번 쭈욱 정리하는 것도 좋을 듯 하다. 아래처럼 대충쓴 커밋 메시지1~3을 합쳐서 하나의 커밋으로 만들어보자 1. rebase 사용하기 3개의 커밋 메세지를 합쳐줄거라 git rebase -i HEAD~3을 실행한다. 만약에 2개의 커밋만 바꾸고 싶으면 2 를 적으면 된다. git rebase -i HEAD~3 2. 합치거나 편집할 commit 선택 그러면 아래와 같은 vi 창이 뜨는데, 대충쓴 커밋 메시지 2, 3의 pick => s 로 바꾼다 위 처럼 화면이 뜨면 아래처럼 적어주고 :wq 를 눌러 저장,종료 해준다... 2020. 3. 26.
[#git] 강제로 이전 커밋(commit) 상태로 되돌리기 git을 쓰다보면 자주 충돌이 일어난다. (보통 conflict 났다라고 표현한다) 이때 로컬 PC에 있는 작업 영역을 강제로 이전 커밋(commit)으로 되돌려서 conflict를 푸는 방법에 대해서 알아보자. github repository 에는 아무런 영향이 없으니 걱정안해도 된다. git reset --hard HEAD~5 git reset --hard HEAD~5 라고하면 현재 상태에서 강제로 5번째 전 커밋 상태로 되돌린다는 뜻이다. 이때 새로 생성했던 파일이나 수정한 내용들도 모두 이전 상태로 돌아간다. 그리고 git pull을 해주면 다시 최신 상태로 반영되어 conflict를 풀 수 있다. 2020. 3. 26.
[#git] git, github를 쓰는 이유와 기본 명령어에 대해 알아보자 1. git이란? 하나의 프로젝트를 진행할 때, 보통 여러명의 개발자가 동시에 작업을 진행한다. 모두 작업을 끝마치고 서로의 소스코드를 붙이려고 할 때 어떻게 취합하는게 좋을까? USB? 메일로? 취합만 하는데도 머리가 지끈지끈 아파온다. (예전엔 정말 이렇게 했다.. 끔찍) 그래서 스마트하게 소스를 관리해보자! 라고해서 나온 개념이 형상 관리(Configuration Management)이다. 대표적으로 svn, git이 있는데, 대세는 역시 갓 git git을 간단히 설명해보면 작업의 base가 되는 master branch에서 여러명의 개발자가 각각 새로운 branch를 따면, 각각의 새로운 작업 영역이 생기게 된다. 여기서 branch는 하나의 작업 영역, 하나의 소스코드 버전이라고 이해하면 된다.. 2020. 3. 26.
[#github] 사이트에 커스텀 도메인 등록하기 이전 포스팅 https://korband.tistory.com/7 에서 github로 무료 스태틱 파일을 호스팅해 트래픽/용량 걱정없는 사이트를 올리는 방법에 대해서 알아봤었다. 기본적으로 github에서 사이트를 publish하는 경우, https://ID.github.io 가 되는데 내가 소유하고 있는 커스텀 도메인으로 바꿔줄 수 있다. 1. 도메인 DNS 설정에서 CNAME 레코드 설정 자신이 소유하고 있는 도메인 사이트 - DNS설정에서 CNAME 레코드를 설정해준다. 예를들면 k5959.github.io 대신 5959.kor.band 라는 커스텀 도메인을 사용하고 싶으면 아래와 같이 설정해준다. 2. github pages 설정 publish한 repo 설정 - github pages에 cust.. 2020. 3. 25.
[#github] 트래픽/용량 걱정없는 무료 웹 호스팅하기 예전에 웹 호스팅에서 일 200MB에 월 500원짜리 호스팅 서버가 많이 보였었다. 월 500원 수준이면 거의 공짜나 다름없긴 했지만 트래픽 초과시 서비스가 불가능하거나 추가 트래픽 비용을 내는 경우가 많았었고, 요즘 성행하는 클라우드 서버의 경우, 최소 월 몇 천원은 내야 작은 서비스를 서비스할 수 있다. 근데 자세히 보면 마이크로 서비스의 트래픽은 스태틱 파일(js, html, css)이 90%이상 차지하는 경우가 많다. 곧 스태틱 파일을 공짜인데 안심할 수 있고, 속도도 빠른 = gitbub 에서 제공해준다면? 서버코드도 github로 관리하는 요즘, 스태틱 파일 repo를 분리하는 아주 조금의 귀찮음이 있을 지 몰라도 비용, 안정성 측면에서 안쓸이유가 전혀 없다. 개인적으로 개인 포트폴리오나 단순.. 2020. 3. 22.
[#github] jsdelivr CDN 서버 무료로 사용하기 CDN 서버란? CDN(Content Delivery Network)의 약자. 어느 한 서버에 있는 파일들을 글로벌하게 서비스한다고 하면 여러 hop을 거쳐야해 전송 속도가 매우 느릴 수 밖에 없다. 그래서 서버 - 사용자 사이 어딘가에 캐시 서버를 두고 스태틱 파일(js, html, css, 이미지 등)들을 미리 서비스해 네트워크 hop을 줄여 트래픽 비용을 줄이고, 전송 속도를 높히는 서버를 CDN 서버라고 한다. 그런데 이 CDN 서버를 public github repository에 파일을 업로드만 하면 그대로 jsdelivr CDN 서버로 바로 사용할 수 있다. https://cdn.jsdelivr.net/gh/[사용자명]/[레포지토리명]/[파일경로] 예를들면 abcde 사용자가 myrepo 라는.. 2020. 3. 22.