git checkout이용해 특정 commit으로 되돌리기 git checkout [commit hash] 를 통해 특정 commit으로 되돌릴 수 있다. 이때 [commit hash]는 모든 해시값을 써도 되고 앞 7자리 해시 값을 써도 된다. git checkout [commit hash] git checkout 예시 예를 들어 git log가 다음과 같은 경우 log의 커밋들 중 fourth commit으로 되돌리고 싶다고 해보자. commit f0cdce562bef70fed30f392a18c82543aa2f126b (HEAD -> main) Merge: 027f7aa 1709310 Author: Seyoung Cho Date: Wed Jan 5 23:51:57 2022 +0900 merge com..
분류 전체보기
git stash가 필요한 이유 Git 폴더 내부에서 작업을 했을 때 작업물은 Unstaged Area나 Staged Area 둘 중 하나에 저장된다. 이때 만약 작업물을 커밋하지 않고 다른 브랜치로 변경할 경우 변경 사항이 같이 따라가거나 conflict가 일어나게 된다. 따라서 이러한 작업물들을 저장할 임시 공간이 필요한데, 그 공간으로 작업물을 보내주는 명령어가 바로 git stash이다. git stash란? git stash는 Working Directory(단 git add 자체가 안된 것은 제외, modified 것은 stash됨)와 Staging Area의 작업물을 임시 저장공간에 저장하는 명령어이다. git stash를 이용한 저장은 두가지 명령어로 할 수 있다. git stash git..
git diff 란? git의 diff란 commit 이나 branch 사이에 다른점 혹은 파일이나 Repository와 Working Directory 사이의 다른점을 보여주는 명령어이다. 이에 따라 git diff에는 다양한 옵션이 있다. 이 글에서는 다음의 순서로 진행한다. git diff와 git diff HEAD 를 이용한 변경 사항 확인 git diff [option] [file name] 사용해 특정한 파일에 대한 변경 사항 확인하기 git diff [branch1]..[branch2] 명령어 사용해 브랜치 간 변경사항 확인하기 git diff와 git diff HEAD 를 이용한 변경 사항 확인 먼저 git diff와 git diff HEAD에 대해 알아보자. git diff는 Workin..
abstract class란 무엇인가? abstract class는 그 자체로 인스턴스화 될 수 없는 클래스이다. abstract class는 abstract class를 여러 클래스에서 공통으로 쓰는 프로퍼티와 메서드를 모아놓는 용도로 쓴다. abstract class란여러 클래스의 추상적인 부분(=공통적인 부분)을 모아놓은 클래스인데 그 자체로는 인스턴스화 할 수 없는 클래스이다. 프로그래밍 언어들에서는 abstract class를 abstract type을 가진다고 하고 abstract type은 그 자체로 인스턴스화(객체를 만드는 작업)를 할 수 없는 타입이다. 반대의 단어로는 concrete type이 있는데 concrete type은 그 자체로 인스턴스화 할 수 있는 타입을 뜻한다. Kotli..
변수란 무엇인가? 변수는 값(데이터)을 저장하는 메모리 공간에 붙은 이름이다. 이름처럼 고전적인 변수는 값을 읽고 쓰는 것을 모두 지원한다. 실제로 다른 프로그래밍 언어인 Java나 Python등에서는 변수를 만들면 값을 쓰고 읽을 수 있다. 하지만 변수의 값이 바뀔 수 있는 부분이 많아진다는 것은 프로그램에 오류가 일어날 수 있는 부분이 많아진다는 것을 뜻한다. 때문에 최근 함수형 프로그래밍 패러다임에서는 값의 불변성을 중요하게 다룬다. 이에 대해 코틀린은 값이 변할 수 있는 가변 변수인 변수(var)와 값이 변할 수 없는 불변 변수(val) 두가지의 변수를 지원한다. 코틀린에서 지원하는 변수의 종류 : var, val 코틀린에서 지원하는 변수의 종류는 다음과 같다. val: 불변(Immutable) ..