전체보기 (286) 썸네일형 리스트형 git reset --hard 되돌리는 방법 다음 명령어를 입력하면 해당 커밋 이후의 커밋은 다 사라진다. git reset --hard 커밋아이디 그러나 생성했던 깃의 정보는 리파지토리에 모두 기록되어 있기 때문에 다시 되돌릴 수 있다. 다음 명령어를 입력하면 HEAD가 지나쳤던 커밋들의 히스토리 리스트가 나온다. git reflog show 브랜치이름 여기서 git reset --hard로 사라진 커밋에 접근할 수 있다. 커밋 아이디를 복사해서 제일 위의 reset 명령어를 입력하자. git fetch에 대해서 git은 협업에 사용할 때 진가를 발휘한다. 따라서 git을 이용해 github과 같은 리모트 리파지토리를 다루는 방법에 대해서도 알아야 한다. 리모트 리파지토리에 다른 커밋이 업데이트 됐다면 로컬 리파지토리도 동일하게 업데이트 해야 다른 사람이 작업한 벽돌에 또 다른 벽돌을 쌓아 올릴 수 있다. 리모트 리파지토리에 업데이트된 커밋들을 가져오려면 다음 명령어를 사용한다. git fetch git fetch origin 위 두 명령어는 동일하다. origin이 기본값이기 때문이다. 아무튼 origin이라는 이름의 리모트 리파지토리에서 커밋된 것들을 가져온다. 아래처럼 특정 브랜치만 fetch 할 수도 있다. git fetch origin 브랜치이름 fetch한다고 해서 로컬 리파지토리의 내용도 수정하는 것.. git stash 사용 방법 브랜치를 이용해서 버전을 왔다갔다해야 할 때 작업을 완료하지 못해 커밋하지 않은 파일들이 문제가 된다. 커밋하지 않으면 브랜치를 옮길 수 없기 때문이다. 이때 stash를 이용해서 임시 공간에 저장한다. stash에 저장하기 위해 다음 명령어를 입력한다. git stash push -m "구분하기 위한 메시지" 새로 생성한 파일까지 넣으려면 -a 옵션을 더 넣어야 한다. (-m 대신 -am) 이제 브랜치를 옮길 수 있다. stash에 임시로 저장된 리스트를 확인하려면 다음 명령어를 입력한다. git stash list stash된 리스트가 번호와 메시지로 구분된다. 메시지만 보고서 어떤 부분을 수정한 작업인지 분간이 안 된다면 다음 명령어를 입력한다. git stash show 스태시리스트의번호 stas.. git branch 작업 순서 깃의 브랜치를 사용하면 기존의 버전을 그대로 두고 손쉽게 다른 작업을 할 수 있다. 작업이 완료됐을 때 기존의 버전에 브랜치를 추가(merge)하면 될 뿐이다. 1. 새로운 브랜치를 생성한다. git branch 브랜치이름 2. 생성한 브랜치로 HEAD(작업 브랜치)를 변경한다. git switch 브랜치이름 (브랜치를 새로 생성하면서 HEAD도 변경하는 방법) git switch -C 브랜치이름 (브랜치 이름을 바꾸는 방법) git branch -m 브랜치이름 새로운브랜치이름 (현재 브랜치(master)와 특정 브랜치의 차이점을 확인하는 방법) git diff 특정브랜치 (merge 된 브랜치를 확인하는 방법) git branch --merged (merge 되지 않은 브랜치를 확인하는 방법) git .. 객체 지향 프로그래밍의 4가지 특징 객체 지향의 개념을 설명할 때는 보통 아래의 4가지 특징을 설명한다. Encapsulation 객체 지향 프로그래밍을 하면 비슷한 변수와 함수를 한 곳에 모아 놓는다. 예를 들어 버튼을 만드는 객체를 정의할 때 버튼의 글자를 표시해주기 위한 변수와 버튼을 클릭했을 때 어떤 이벤트가 발생하게 하는 함수 등이 필요하다. 이 둘을 하나의 객체에 넣어준다. 객체 안에 변수와 메소드를 넣고 외부에서 접근을 못하게 막을 수도 있다. 이 두 가지 특성을 두고 객체 지향 프로그래밍은 Encapsulation(캡슐화)이라는 특징을 갖는다고 한다. Abstraction 리모콘 안의 장치는 복잡하지만 사용하는 버튼은 얼마 되지 않는다. 전원 버튼, 채널이나 볼륨을 조절하는 버튼 등이 있을 뿐이다. 리모콘 사용자는 밖에 나와.. git에 tag를 사용하는 방법 git에 커밋 메시지 말고도 tag를 추가할 수 있다. 보통 버전을 표시하기 위해 사용하는 것 같고(v1.0) 그밖에도 커밋 메시지 이외의 정보를 넣기 위해 사용하면 좋을 것 같다. 현재 시점에 tag를 추가하려면 다음 명령어를 입력한다. git tag 태그이름 위 명령어 뒤에 커밋 아이디(7 글자)를 더 넣으면 특정 커밋에 태그를 추가할 수 있다. git tag 태그이름 커밋아이디 다음 명령어로 해당 태그의 커밋 시점에 HEAD를 옮길 수도 있다. git checkout 태그이름 태그를 지우려면 다음 명령어를 입력한다. git tag -d 태그이름 git log 필터링 하는 방법 // 작성한 사람의 이름으로 커밋을 검색한다. git log --oneline --author="이름" // 어제 이후에 작성한 커밋을 보여준다. git log --oneline --after="yesterday" // 또는 "one week ago"도 사용할 수 있다. // 특정 단어가 포함된 커밋을 검색한다. git log --oneline --grep="단어" // 특정 코드가 수정된 커밋을 검색한다. git log --oneline -S"특정코드" --patch // 특정 파일을 수정한 커밋을 검색한다. git log --oneline 파일이름 --patch // 터미널에서 파일이름을 명령어와 구분하지 못하겠다고 할 때 git log --oneline --patch -- 파일이름 git restore 사용 방법 // git add로 stage에 올린 파일을 취소한다. git restore --staged 파일이름 // working directory에서 변경한 파일을 원상태(현재 stage)로 돌린다. git restore 파일이름 이전 1 ··· 11 12 13 14 15 16 17 ··· 36 다음