SSH란? SSH란 Secure SHell protocol의 약자로 컴퓨터가 다른 컴퓨터와 통신을 안전하게 하기 위해 사용되는 프로토콜이다. Github과 같은 Remote Repository는 SSH를 이용해 Repository를 업데이트 해야 안전하다. Github에 SSH 연결을 설정하는 방법 Github에 SSH 연결을 설정하는 방법은 여느 암호화 로직과 같다. public, private ssh key 쌍을 만든 후, private key는 본인 컴퓨터에 등록하고 public key는 Remote Repository인 Gihub에 등록하는 방법으로 진행된다. 우리는 이 글에서 위의 등록 과정을 다음의 순서로 진행한다. SSH Key 만들기 SSH key를 로컬 ssh-agent에 등록하기 pub..
CI, CD
git reset이란? 앞서 다룬 git restore이 파일 단위을 커밋 단위로 제어 했다면, git reset은 전체 파일을 커밋 단위로 제어하기 위한 명령어이다. git reset을 사용하면 전체 파일들이 특정 커밋으로 돌아간다. 이때 돌아가기 위한 전략에는 두가지가 있다. 하나는 Plain Reset이라 불리는 전략이다. Plain Reset은 커밋을 제거한 다음 해당 커밋들에서의 변경 사항을 Working Directory로 Unstaged 되게 해서 복구한다. 두번째는 Hard Reset으로 커밋을 제거한 다음 변경 사항 또한 모두 제거해버리는 방식이다. git reset [commit hash] 사용해 특정 commit 되돌리기 git reset을 사용하면 대상 커밋 해시와 현재 커밋 사이의..
git restore이란? git checkout은 하나의 키워드에 많은 기능이 들어있다. 때문에 checkout의 브랜치와 관련된 기능이 git switch 명령어로 새로 나오게 됐다. git restore 또한 새로 나온 키워드로 git의 파일 조작(특정 커밋으로 되돌리기, Unstaging 시키기 등) 만을 위한 기능을 지원하는 명령어이다. git restore [file name]을 사용해 특정 파일 HEAD Commit으로 복구하기 git restore --source [commit hash] [file name] 사용해 특정 파일 특정 Commit으로 복구하기 git restore --staged [file name] 사용해 Staging Area에 올라간 파일 다시 Unstaging 시키기 ..
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..