VCS/Git 4

원격저장소에 올라간 git commit 되돌리기

원격 저장소(github, gitlab)에 올라간 commit 을 되돌리는 방법에는 두가지가 있다. 1. 로컬에서 되돌린 후(git reset), 그대로 원격 저장소에 강제로 push 하는 것 2. 되돌린 내역을 하나의 commit으로 쌓고(git revert), 이를 원격저장소에 push하는것 첫번째 방법은 혼자서는 괜찮으나 협업하는 경우 내가 되돌리기 전에 누군가 git pull해서 작업하고 올릴 경우 내가 돌렸던 내용 그대로 올라가게 된다. 그래서 2번 방법을 적용하였다. 1. commit 로그들을 확인 명령어 : git log 2. 되돌리고 싶은 commit으로 돌아간다 명령어 : git revert --no-commit HEAD~3.. -> 세번 이전 커밋으로 돌아갔다 3. 돌아온 사항을 새롭게..

VCS/Git 2021.11.06

git 원격저장소(github, gitlab)에 잘못 올라간 파일삭제

gitlab에 gitignore파일을 먼저 올렸어야 했는데 gitignore에 해당하는 파일(주로 설정파일들 - bin, .classpath, .project)들을 그대로 올려버렸을 경우 1. 로컬 파일 삭제 없이 원격 저장소에만 파일 삭제하기 위와 같이 파일일 경우 -> git rm --cached [파일이름] ex) git rm --cached .classpath 폴더일 경우 -> git rm --cached -r [폴더] ex) git rm --cached -r bin/ bin/ 은 bin폴더 이하 파일들을 모두 삭제한다는 소리 결과 -> bin은 upload목록에서 제외됨 2. 원격 저장소에 적용 - 변경된 사항을 commit git commit -m [커밋메시지] - 원격 저장소에 적용 git ..

VCS/Git 2021.11.05

git reset 복구. git reset 취소하기.

aws accesskey가 노출되었다고 메일이 왔다. github를 확인해보니 특정 커밋에 정말 accessKey가 고스란히 노출되고 있었다. 잘 피해서 commit하고 있다고 생각했는데 초기에 올라갔나보다;; 별생각없이 git commit기록 지우기를 검색해보니 git reset 커밋기록 --hard 를 쓰면 된다고 해서 썼는데... 엔터를 치면서도 이상하다고 생각을 하면서도 그대로 눌러버렸다. 결과는 이전 커밋으로 그대로 돌아가버린것;;;; 사실 reset이라는 말이 의미하듯이 정말 말그대로 돌아간다는 뜻인데, 정신이 몽롱한채로 남 따라가다가 그야말로 망해버렸다. 이래서 잠이 중요하다.. 부랴부랴 git reset 취소로 검색하니 나처럼 우는 사람들 엄청 많더라... 아무튼 해당 문제는 git res..

VCS/Git 2021.06.13

LF will be replaced by CRLF or CRLF will be replaced by LF 에러

발생시점 cli 에서 git add할 때 에러메시지 LF will be replaced by CRLF in .gitignore. 발생원인 리눅스와 윈도우의 차이로, 한줄 끝을 어떻게 처리하는지가 달라서 그런 것. 유닉스 시스템에서는 한 줄의 끝이 LF(Line Feed) 윈도우에서는 CR(Carriage Return), LF(Line Feed)로 이루어지기 때문임. 나는 윈도우를 사용하고 있어서 LF will be replaced by CRLF 에러가 발생했다. 해결방법 git 이 지원하는 자동변환기능을 사용하는것 --> core.autocrlf 윈도우 git config --global core.autocrlf true ** --global은 전역변수로, 시스템 전체에 적용하고 싶은 게 아니면 빼도 된..

VCS/Git 2021.04.14