이쿠의 슬기로운 개발생활

함께 성장하기 위한 보안 개발자 EverNote 내용 공유

반응형

Tool 사용법/Git 7

Gitrob 분석

Gitrob Gitrob 이란? Gitrob은 Public Repositories인 Github에 Push 된 잠재적으로 민감한 파일을 찾는 데 도움이 되는 도구임. Gitrob은 Github에 Upload 되어있는 프로젝트를 Clone 받아서 잠재적으로 민감한 파일, Commit history, 그리고 Gitrob이 가지고 있는 시그니쳐와 일치되는 파일을 찾아내서 보고해줌 검색 결과는 Web interface를 통해 제공되므로 쉽게 검색하고 분석 할 수 있음. 잠재적으로 민감함 파일 ID, Password, 인증서 등 개인적인 정보를 가지고 있는 파일 (Secret file) Gitrob 시그니쳐란? 잠재적으로 민감한 파일들을 찾아내기 위해서는 대략적인 Scan 대상 파일 또는 문자열 목록이 필요함 이..

Tool 사용법/Git 2022.03.06

Git 코드를 잠깐 저장하고 다른 브랜치로 이동하기

Git 코드를 잠깐 저장하고 다른 브랜치로 이동하기 (STASH) 브랜치에서 작업이 아직 완료가 안됐는데 치명적인 버그가 발생하여 현재 작업 중이던 브랜치를 잠시 중단하고 다른 브랜치를 만들어서 작업을 해야할 때가 있음 바로 브랜치를 이동하기 위해 checkout 을 하게 되면 지금까지 작업 내용이 모두 날아가고 브랜치를 이동하기 전에 현재 작업하던 내용을 commit 해서 저장해야 하는데 commit 하기에는 작업이 많이 안되어서 애매할 때 STASH를 사용하면 해결됨 명령어 1.) git stash 새로운 stash를 스택에 만들어하던 작업을 임시로 저장 2.) git stash list 여러 번 stash를 했다면 저장한 stash 목록을 확인할 수 있음 3.) git stash apply --in..

Tool 사용법/Git 2020.09.07

Git add, commit, push 취소하기

Git add, commit, push 취소하기 git add 취소하기 실수로 git add * 명령을 사용하여 모든 파일을 스토리지 영역에 넣은 경우 취소하고 싶은 상황이 발생함 명령어 git reset HEAD 해당 파일만 git add 를 취소 git reset HEAD 파일 전체를 add 취소 git commit 취소하기 너무 일찍 commit 한 경우 어떤 파일을 빼먹고 commit 한 경우 취소하고 싶은 상황이 발생 명령어 1) git reset --soft HEAD^ commit을 취소하고 해당 파일들은 staged 상태로 워킹 디렉터리에 보존 즉 add 한 상태 staged 상태 2) git reset ---mixed HEAD^ commit 을 취소하고 해당 파일들 unstaged 상태로 ..

Tool 사용법/Git 2020.09.07

Git 원격 저장소에 pull하는 과정

Git 원격 저장소에 pull하는 과정 원격 저장소로 부터 내려받기 : fetch 내려받은 데이터를 병함 : merge 위의 두 명령을 한번에 처리하는 명령 : pull 1. pull 원격 저장소로부터 필요한 파일을 다운 + 병합 지역 브랜치와, 원격 저장소 origin/master 가 같은 위치를 가리킴 pull 은 로컬 저장소와 비교하여 병합을 하고 로컬 저장소에 add 까지 수행 git pull = git fetch + git merge [주의] 본인이 수정하고있던 파일과 동일한 파일이 원격저장소에서 수정되서 pull 되어질때 충돌할 가능성이 있으므로 확인해줘야함 [명령어] git pull origin master 예) git pull 2. fetch 원격 자장소로부터 필요한 파일을 다운 지역 브랜..

Tool 사용법/Git 2020.09.07

Git 브랜치 방법 (Branch)

Git 브랜치 방법 (Branch) master branch는 배포용. client들이 직접 사용하게 되는 배포 version. 그래서 필요한 기능은 병렬적으로 개발하게 되는 데 사용되는 기능이 branch 여러 버전을 관리할 수 있는 구조 1. 브랜치 생성 1.1. 먼저 현재 브랜치 목록을 확인 [명령어] git branch 현재 프랜치에는 ( * ) 가 붙음 이것은 브랜치가 master 것이고 현재 프랜치고 master 임을 나타내는 것 1.2. 브랜치 생성 [명령어] git branch 예) git branch subTest01 1.3. 브랜치 지점 이동 [명령어] git checkout 예) git checkout subTest01 1.4. 참고) 위 명령을 한번에 처리 [명령어] git chec..

Tool 사용법/Git 2020.09.07

Git 원격 저장소에 Push 하는 과정

Git 원격 저장소에 push 하는 과정 1. 원격 저장소 init or clone 원격저장소 종류 GitHub 명령어 git init 현재 디렉토리를 새로운 Git 저장소를 만드는 명령 git clone 현재 디렉토리에 기존의 git 저장소를 내려받는 명령 예) git clone http://github.com/~~ 2. Git 서명 작성 누가 어떤 수정을 하였는지 남기기 위해 자신만의 서명을 남겨야함 명령어 git config --global user.name="Iksoon.Park" git config --global user.email="test@naver.com" Git 설정파일을 적용을 함 유저 이름은 무엇이고 이메일 주소는 무엇인지 설정 3. Git 스테이지 영역에 추가 스테이지 영역이란? ..

Tool 사용법/Git 2020.09.07

Git 이란?

Git 소스코드의 효율적인 관리를 위한 형상 관리 도구 중 하나 형상관리란? 프로젝트를 진행할 때 각자 업무를 나눠서 맡은 부분을 개발하게 되는데 각자가 개발한 코드 혹인 문서들을 하나의 관리 도구에서 통합적, 버전별로 관리하게 되는 것을 형상관리 혹은 버전관리라고 부름 GitHub 소프트웨어 개발 프로젝를 위한 소스코드 관리 서비스 Git 과 SVN 차이점 SVN : 중앙 집중식 버전 관리 시스템 저장소가 serve r에 있음 관리되는 모든 파일을 저장하는 사나의 서버와 이 중앙 서버에서 파일을 가져오는 다수의 클라이언트가 존재 장점 1. (직관적) 모든 사람이 중앙서버에 있는 같은 자료를 받아오고 내가 한 업무가 commit 하는 순간 모두에게 공유됨 단점 1. 중앙 서버가 잘못되면 모든 것이 잘못된..

Tool 사용법/Git 2020.09.07
반응형