서두르세요! "데이스쿨 40% 할인" 12월 2일까지!
분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
terminal, Git 커맨드 정리 (reset, restore 추가)
버전관리시스템 중 하나인, VCS(Version Control System)입니다.
매일매일 변화된 Task를 관리하며 이전 버전의 파일을 다시보거나 비교 및 협업이 가능하죠 :D
GIt은 rinux 기반이기 때문에 window의 경우, git bash를 다운받습니다.
Git을 시각적으로 보기 위해 GUI인 gitkraken 등을 활용을 추천합니다.
이름 설정 : git config --global user.name <user-name> 이메일 설정 : git config --global user.email <user-name> 현재 내 이름 확인 : git config user.name 현재 내 이름 확인 : git config user.email ls : 해당 디렉토리 리스트 확인 ls ~a : 숨겨져 있는 리스트도 모두 확인 open . : 해당 디렉토리 열기 *window는 start . pwd : 현재 디렉토리 확인 cd : 디렉토리 초기화(home) cd .. : 상위 디렉토리 이동 touch : 파일 생성 mkdir : 폴더 생성 rm : 파일 영구 삭제 rm -rf : 폴더 삭제
*깃 커맨드* git log : git의 이력 확인(commit, hash, ...) - git log --oneline : 한 줄로 확인 git commit --amend : 가장 최근의 커밋의 메세지 수정 및 프로젝트 수정 시 가장 최근 커밋에 집어넣기 git ignnore : 파일 무시하기(API KEY ...) - 공유되어선 안되고 제외하고 싶은 파일이 있는 경우 사용 - touch .gitignore 후 안에 추가 - <file-name> or <folderName/> or <*.log>(와일드카드) HEAD : Main Branch에서 가장 최근에 커밋한 브랜치 = 나의 현재 브렌치 위치 git branch : branch 확인 - git branch <branch-name> : HEAD는 이동하지 않고 branch 생성 - git switch(checkout) <branch-name> : HEAD 이동 - git switch -c <branch-name> : new branch + HEAD 이동 - git switch - : 최근에 있던 branch로 돌아감 - git branch -d <branch-name> : branch 지우기 - git branch -m : branch 이동 or renam git merge - 특정 커밋이 아닌 브렌치를 병합 - 항상 현재 HEAD 브렌치에 병합 - 병합하려는 브렌치로 이동하고 git merge! - 충돌 시, 파일을 직접 열어서 수정!(HEAD, ==, 다 지우고 Commit) git diff : 커밋 전에 git diff로 수정 전후를 확인 - git diff HEAD : 커밋을 한 것을 포함하여, HEAD branch diff 이력 한번에! - git diff --staged : 스테이징된 파일의 수정 전후 확인 (= git diff --cached) - git diff <branchname1> <branchname2> : 두 브렌치 수정 전후 확인 - git diff <commithash1> <commithash2> : 두 커밋 수정 전후 확인 - git log --oneline에서 hash복사 후 진행 git stash : 작업 중에 잠깐 다른 곳으로 옮겨야 할 때 사용 - Stash라는 서랍장이라 생각하고 내 작업을 잠시 여기에 맡겨둠 - 내 현재 작업이 커밋하기에는 불필요하다면 git stash! - git stash list : stash list 확인 - git stash pop : stash에서 내 최근 작업 가져오는데 stash list에는 없어짐 - git stash apply <stashname> : stash에서 내 작업을 가져오는데 stash list에는 그대로 존재 - git stash drop <stashname> : stash 삭제 git checkout : 작업하던 때로 돌아감 - git checkout HEAD~n : head에서 n개 이전의 커밋을 참조 - git checkout HEAD <file-name> : 한 스텝 이전의 커밋으로! git restore : 작업 사항 취소 - git restore <file-name> : = git checkout HEAD <file-name> - git restore --source HEAD~n <file-name> : 특정 파일 특정 n번째 아래 commit으로 복구 - git restore --source <commithash> <file-name> : 특정 파일 특정 commit으로 복구 - git restore --staged <file-name> : 스테이징 된 파일 다시 Unstaging git reset : 이전 커밋으로 되돌리기 - 나만 브랜치를 사용하고 있을 때 사용 - git reset <commithash> - git reset --hard <commithash> : 돌아간 커밋 이후의 변경 이력 전체 삭제 git revert : 이전 커밋으로 되돌리기 - github, team project시 사용 - commit 삭제가 아닌 커밋 하나를 추가하는 방식 - git revert
'본 포스팅은 데이콘 서포터즈 '데이크루 1기'활동의 일환입니다.
데이콘(주) | 대표 김국진 | 699-81-01021
통신판매업 신고번호: 제 2021-서울영등포-1704호
서울특별시 영등포구 은행로 3 익스콘벤처타워 901호
이메일 dacon@dacon.io | 전화번호: 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved
매번 헷갈리네요. 마침 찾고 있었는데 감사합니다.