본문 바로가기

지식 정리/git & github3

GIT ERROR] pull 하기 전에 push한 경우 , errer: failed to push some refs to '~.git' (git stash 사용) 사건 발단 이전에 알고리즘 문제풀이 repository에 cpp 파일을 txt파일로 잘못 올려 삭제한 적이 있는데, 이를 잊고 작업을 하여 push를 하였습니다. pull을 하기도 전에 작업을 해버렸으니 제 local repository는 remote repository의 시점과 제가 작업한 시점 두 가지가 맞물리게 생겼습니다. 해결 방안 그래서 제가 사용한 해결책은 git stash 명령어를 사용하는 것이였습니다. git stash 명령어는 현재 시점의 변경사항을 스택에 저장하여, 시점이 맞물리지 않게 현재 시점을 비워줍니다. (쾌청 비디오 같네요.) 비워진 현재 시점에 remote repository의 것을 pull하고 이후 다시 작업물을 반환하여 수행합니다. (git stash pop 명령어로 스택.. 2022. 6. 5.
Git 내부 동작 원리와 용어 정리 Git 내부 동작 원리를 설명함에 앞서 먼저 용어 정리를 하겠다. Local (Working tree) : 작업의 대상인 프로젝트의 소스 코드들의 디렉터리 Index (Staging Area, Cache) : commit을 하기 전 git add 함수로 tracking이 된 파일들을 관리하는 영역이다. index에서는 commit 되기 전 파일의 파일명과 해당 파일의 내용이 담긴 Blob 파일이 기록되어있다. 실제 위치는 프로젝트 폴더 하위에 있는 .git/index 이다. Repository : 깃이 버전관리를 위해 소스 코드와 데이터들을 저장하는 영역이다. 버전관리를 시작한 시점부터 현재 시점까지 관리해온 여러 버전의 파일들의 내용이 Blob 파일로 저장되어 있다. 이곳에 저장된 파일들은 Object.. 2022. 4. 15.
git, github 설치에서 기본 사용 git, github 소개 git 설치 기본적인 사용 방법 필자는 현재 64비트 Windows10 환경에서 작업하였음을 밝힙니다. git, github 소개 git git은 분산 버전관리 시스템으로 여러 개발자들이 하나의 프로그램을 개발할 때, 그 프로그램 내 소스 코드들의 버전관리를 위한 것이라 할 수 있다. git에 생소하여 이 글을 찾아온 사람들은 버전관리의 의의에도 의문을 품을 수 있는데 앞서 말한듯 하나의 프로그램에 보통 수십명에서 크게는 수백명의 개발자들이 참여할 수 있다. 이렇게 많은 개발자들이 참여를 하게되면 그에 맞게 서로의 코드에 의해 오류가 발생할 수 도 있고 예의치 못한 문제가 발생할 수 있다. 혹은 갑자기 상품의 계획이 변경되어 노선을 다시 되돌려야할 때 이러한 버전관리를 통하여 .. 2022. 4. 14.