[Dreamhack] Return to Library
·
워게임/시스템해킹
보호되어 있는 글입니다.
[Dreamhack] Secret Document Storage
·
워게임/웹해킹
보호되어 있는 글입니다.
[Dreamhack] Buffalo Wings
·
워게임/웹해킹
보호되어 있는 글입니다.
[wargame.kr] counting query
·
워게임/웹해킹
보호되어 있는 글입니다.
[Dreamhack] Movie time table
·
워게임/웹해킹
보호되어 있는 글입니다.
[Dreamhack] Pybrid
·
워게임/웹해킹
보호되어 있는 글입니다.
임시 객체로 치환(replace)
·
Git
저장소 분리1. 저장소를 분리할 수 있도록 새로운 브랜치를 생성한다. 2. 깃허브에서 위 저장소와 동기화할 새로운 원격 저장소를 생성하고 로컬 저장소에 등록한다. 3. 생성한 브랜치를 원격 저장소로 푸시한다. 이때 로컬 저장소의 브랜치는 분리 기준이 되는 worked 브랜치이다. 그리고 원격 저장소로 전송되는 브랜치는 main 브랜치이다.  이제 원격 저장소는 커밋 3개만 main 브랜치에 가지고 있다. 4. 저장소를 분리하기 위해 commit-tree 명령어로 가상의 임시 객체를 생성한다. 이 객체는 아직 다른 어떤 객체와도 연결되지 않고 떨어져 있는 객체이다. 5. 생성된 임시 객체를 다른 커밋 객체와 리베이스하여 병합한다. 결과로 이전에 있던 커밋들과 연결 고리가 끊어져 분리되었으며 로그 기록에는 ..
파일 애너테이션(blame)
·
Git
여러 개발자와 협업하다 보면 잘못된 코드를 찾는 것은 쉽지 않다. 모든 커밋 이력을 살펴본다면 시간이 오래 걸리므로 깃은 이러한 코드를 쉽게 찾을 수 있도록 파일의 수정 이력을 분석한다. blame 명령어blame 기능은 커밋의 메타 정보를 코드 라인 별로 같이 결합하여 출력한다. 코드를 수정한 사람이 누구인지, 언제 수정한지를 쉽게 판별할 수 있으며, 메타 정보를 바탕으로 문제를 좀 더 쉽게 파악할 수 있다. blame 명령어는 개별 파일에서만 동작하며, 명령어 인자 값으로 개별 파일을 전달한다.$ git blame  blame 옵션소스 코드의 용량이 클 때는 이력 정보도 많이 출력된다. 이때는 L 옵션을 사용하여 파일의 특정 영역만 지정할 수 있다.$ git blame -L ,  추가 옵션-e: 사..
참조 기록(reflog)
·
Git
참조 기록 확인reflog깃은 안정적인 작업을 유지하기 위해 참조된 모든 refs를 기록한다. 그리고 내부적으로 작업한 모든 HEAD와 브랜치 포인터를 기록한다. 이때 사용된 포인터들의 기록을 reflog라고 하며, reflog 기록은 reflog 명령어를 사용하여 확인할 수 있다.$ git reflog log -glog 명령어의 g 옵션으로도 refs 로그를 확인할 수 있다.$ git log -g 기록 확인reflog 기록들은 HEAD@{숫자} 형태이다. 각 숫자는 작업을 수행한 해시 값을 가리킨다. 따라서, reflog에 기록된 HEAD@{숫자} 포인터를 이용하여 커밋 정보를 확인할 수 있다.$ git show HEAD@{0} 기간 확인커밋의 로그 기록이 많은 경우 필터링할 수 있다. 필터링은 특정한..
참조(refs)
·
Git
해시 값 확인생성된 모든 해시 값은 show 명령어로 확인할 수 있다.$ git show  역 조회show 명령과는 반대로 rev-parse 명령어로 포인터의 해시 값을 알 수 있다. 예를 들어, 브랜치는 커밋 해시 값을 가리키는 포인터이므로 브랜치 이름을 사용하여 참조하는 해시 값을 조회할 수 있다.$ git rev-parse main 참조 목록깃에서는 생성된 해시 값을 쉽게 참조할 수 있도록 refs 목록을 생성한다. 깃의 모든 refs 목록은 저장소의 숨긴 영역인 .git/refs 폴더 안에 저장된다. 처음 저장소를 생성하면 .git/refs 폴더에는 heads와 tags 폴더만 있다. 새로운 feature 브랜치를 만들고 .git/refs 폴더를 확인하면 feature 브랜치의 refs가 생성되었..