Trial and Error/Git

Trial and Error/Git

[Git]Git에서 해시 함수를 사용하는 이유

깃허브에서 커밋을 하다 보면 아래의 이미지와 같이 해시를 볼 수 있다. 이걸 왜 사용하는 걸까 궁금했다. 파일이 변경되었는지를 확인하기 위해 사용하는 것 같긴 한데, 단순히 파일 내용만을 비교하는 건 아닌 거 같았다. 그리고 내용만 비교할 거면 line by line으로 하면 되는데, 왜 해시 함수를 거치는지 궁금했다. 답은 리눅스 토발즈가 2007년에 구글에서 Git을 발표한 동영상(https://youtu.be/4XpnKHJAok8?t=3389)에서 찾을 수 있었다. 위 동영상의 내용은 stackoverflow(https://stackoverflow.com/questions/28792784/why-does-git-use-a-cryptographic-hash-function)에도 잘 정리되어 있는데, ..

Trial and Error/Git

Git remote branch name change과 latest commit message change

https://hello-i-t.tistory.com/9 Git remote branch 가져오기 기존에 학교에 다닐때는 git commit -m, git push, git pull 정도만 써서 branch를 도대체 어떻게 해야하는지 어려웠고, 분명 인터넷에 나온대로 했는데도 계속 오류가 생겨서 힘들었다. 그래서 공부했다. 1 hello-i-t.tistory.com 위의 글에서 언급한 것 처럼 나는 리모트 브랜치 이름도 잘못 만들어서 변경을 해야했고, 커밋 메시지도 형식에 맞추어 만들지 않아서 내용을 변경해야 했다. 그런데 어떻게 해야하는지 몰라서 한참을 헤맸다 ㅎㅎ 5시 퇴근인데 5시 16분까지 남아있다가(오류가 4시 55분에 생겨서 퇴근할까 말까 하다가 역시 오류를 남겨두고 퇴근하는건 찝찝해서) 16..

Trial and Error/Git

.git 폴더의 정체

도대체 .git 폴더가 뭐길래 계속 생기는지, 이게 왜 필요한지 궁금했다. 그런데 구글에서 찾다보니 너무 어려웠다. 그래서 쉽게 나온 블로그들 글을 찾다 찾다 나온 내용은 아래와 같다! .git의 정체는 Git 저장소이자 git으로 추적, 관리하는 대상이다. object 디렉토리에 객체가 생성되는 시점을 git add 명령어로 파일을 스테이징 시킬 때, staging area에 파일을 등록한다. 여기서 staging area란 직후의 commit에 어떤 것들이 포함될 지 알려주는 정보를 가지고 있는 파일을 말한다. 그러니까 즉, 우리가 github에서 프로젝트를 로컬로 클론하고 git add, git commit 이런식으로 변경사항을 만드는데, 바로 이런 변경사항을 .git 폴더에 저장을 해서, 우리가 ..

Trial and Error/Git

Git remote branch 가져오기

기존에 학교에 다닐때는 git commit -m, git push, git pull 정도만 써서 branch를 도대체 어떻게 해야하는지 어려웠고, 분명 인터넷에 나온대로 했는데도 계속 오류가 생겨서 힘들었다. 그래서 공부했다. 1. Git remote 갱신 $ git remote update2. 원격 저장소 branch 확인 $ git branch -r # -r(remote) 옵션으로 원격 저장소의 branch list를 볼 수 있다. $ git branch -a # -a(all) 옵션으로 로컬과 원격 저장소 모두의 branch list를 볼 수 있다.3. 원격 저장소 branch 가져오기 $ git checkout -t remote_branch_name이거 몰랐는데,, 나중에 오류가 생기고 나서 검색해..

박한결
'Trial and Error/Git' 카테고리의 글 목록