본문 바로가기

개발 관련/git

(16)
되돌리기 - git checkout, git reset, git revert 💡 작업 트리에서 수정한 파일 되돌리기 git checkout -- {수정을 원하는 filename} checkout 명령을 사용하면 작업 트리에서 수정한 내용을 쉽게 취소할 수 있음 즉, 파일의 수정을 취소하고 원래대로 되돌리는 것 다만, checkout으로 되돌린 내용은 다시 복구할 수 없음 💡 스테이징 되돌리기 git reset HEAD {filename} HEAD 다음에 파일 이름을 지정하지 않으면 스테이지에 있는 모든 파일을 되돌림 스테이지에서 내려지면 Unstaged changes after reset라고 뜸 파일이 아직 스테이지에 올라가기 전(not staged)으로 돌아온 것을 확인할 수 있음 💡 최신 커밋 되돌리기 git reset HEAD^ 가장 최신, 즉 가장 마지막에 한 커밋을 취소..
커밋한 메시지 수정하기 : --amend 가장 최근의 커밋 메시지를 수정하려면 다음과 같이 입력하면 된다. git commit --amend vim 입력하는 것과 동일하게 입력하면 됨.
git log --stat git log --stat 커밋에 관련된 파일까지 함께 살펴보는 명령어 가장 최근의 커밋부터 순서대로 커밋 메시지와 관련된 파일이 나열됨 로그 메시지가 너무 많을 경우 한 화면씩 나누어 보여주고, enter 키를 누르면 다음 로그화면을 볼 수 있음 Q키를 누르면 로그 화면을 빠져나올 수 있음
깃 토큰 인증하기 git 작업할 일이 있었는데 다음과 같은 에러가 발생했다. remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. 내용은 8월 13일부러 더 이상 패스워드 인증을 지원하지 않기때문에 개인 인증 토큰을 사용하라는 것이다. 해결 방법은 다음과 같았다. 깃 토큰 인증하기 1. 깃허브 로그인 후 우측 상단에 프로필 메뉴에서 하단의 "Settings" 클릭 2. 좌측 메뉴에서 아래쪽의 "Developer settings" 클릭 3. 좌측 메뉴 3번째의 "Personal access tokens" 클릭 4. 우측 상단의 "Generate new token" ..
warning: LF will be replaced by CRLF in {filename} git에서 심심찮게 볼 수 있는 에러다. 이는 깃에서 자동으로 텍스트 문서의 CRLF 문자를 LF 문자로 변환해서 커밋할 것이라는 의미로 사용자가 따로 조치를 할 필요는 없다고 한다. 위 에러가 발생하는 이유는 다음과 같다. 윈도우의 줄바꿈 문자와 리눅스의 줄바꿈 문자가 달라 생기는 현상 윈도우에서 문서 저장 시, 줄이 바뀌는 자리에 CR 문자와 LF 문자가 삽입됨. 이를 합쳐서 CRLF 문자라 함. 반면, 리눅스와 맥에서는 문서 저장시 줄이 바뀌는 자리에 LF 문자가 삽입됨. 매번 저런 에러가 발생해서 다음고 같은 코드를 넣어줬더니 더 이상 에러문이 뜨지 않았다. 나는 현재 window 유저이므로 다음과 같이 입력했다. git config --global user.autocrlf true 혹시 이 글을..
.gitignore 파일 gitignore 파일이란 git ignore, 파일 이름 그래도 깃에서 무시할 파일들을 정해주는 것이다. 좀 더 설명을 해보자면, GIT 버전 관리에서 제외할 파일 목록을 지정해주는 것이다. 만약, 프로그램 중 자동으로 생성되는 .swp 파일들(.swp)이나 temp 디렉터리(temp/), 내가 그냥 테스트용으로 만든 텍스트파일(test.txt) 등을 git 버전관리에서 제외시켜 주고 싶다면 다음과 같이 .gitignore 파일에 기재하면 된다. .swp temp/ test.txt
github 레포지토리로 git push 시 오류 - Updates were rejected because the remote contains... git push 하는 도중에 다음과 같은 오류가 났다. 검색 결과, 이와 같은 현상은 github에서 레파지토리를 생성할 때, README.md 파일을 생성했기 때문. 1. 첫번째 해결방법 / git pull 해결 방법은 git pull 명령어로 원격 레파지토리를 내 로컬로 fetch한 다음 merge 하면 된다고 한다. git pull origin master 하지만 두번째 오류가 나버렸다. 2. 두번째 해결방법 / --allow-unrelated-histories 에러 내용은 보는 그대로, commit 히스토리가 서로 연관성이 없어 merge가 거절된 것이다. git pull origin master(or branch name) --allow-unrelated-histories 해당하는 브랜치명을 넣..
github 레포지토리로 git push 시 오류 - refspec master does not match any. 오랜만에 github repository 에 push 를 하니 다음과 같은 오류가 났다. error: src refspec master does not match any 이러한 오류는 레파지토리에 커밋한 내용이 없기 때문에 branch 가 존재하지 않아 발생한 에러라고 한다. 커밋할 repository 가 비어있기 때문에 생긴 오류로, repository에 커밋하고자 하는 내용을 추가해 주면 된다. git add . (파일이 아예 없다면, git touch 파일명 으로 빈 파일을 만들어준다.) git commit -m "commit message" git push -u origin master 위와 같이 입력하니 해결됐다!