분류 전체보기 (104) 썸네일형 리스트형 Git 초보자들의 구원자 Reflog 알아보기 죽은 커밋도 예토전생이 가능하다 본인은 습관처럼 개발 관련 영어가 나오면 원뜻을 찾아보는 습관이 있다. re + flog 인줄 알았으나 ref + log 였다 (...) 뭐 여튼 깃에서 커밋이던, 체크아웃이던 무슨 행동을 할때마다 깃은 그 정보를 기록한다. 예를들어 정말 간단한 txt 파일을 만들어서 master 에는 월요일과 화요일을 만들고, weekend 브랜치에는 토요일, 일요일을 적은 간단한 파일을 만들었다. 이때 .git의 logs 폴더에 들어가면 HEAD란 파일이 있다. 이 파일을 메모장으로 열어보면 이런 내용이 있다. 이와같이 우리가 깃에서 하는 행동들을 기록해놓는 것이다. 이걸 바탕으로 우리는 사라진 커밋이나 심지어 Rebase를 취소할수도 있다. 보통은 막무가내로 Rebase를 시도했다가.. Git Rebase 알아보기 깃 지옥 해결법 물론 현업이 아닌 4~5명정도의 소규모 프로젝트에서는 사실 깃 지옥이랄것도 없지만... 만약에 그 이상, 그리고 다양한 개발자가 함게 참여한 깃 히스토리를 본 적이 있는가? Javascript 개발자들의 영원한 적 Git 판 콜백지옥이라고 봐도 무방하다(...) Merge는 이른바 머지 커밋이 생성되는데, 이게 모두 깃 히스토리에 올라가니 굳이 머지했다는 커밋은 필요없지 않나? 에서 나온게 바로 리베이스이다. Re + Base 즉 베이스를 다시 설정했다는 뜻이다. 위의 'B'커밋이 D와 E커밋의 Base인데, 이 베이스를 다시 C로 설정하여 본래 브랜치 위에 D* E* 브랜치를 얹어버린것이라고 생각하면 쉽다 이때 D*와 E*의 해시값 역시 변경된다. (다시 베이스를 재설정한 것이므로) 이.. Database - Basics of ER Model 왜 이 강의를 수강하는지?(Udemy) from Database Management System from Scratch by Vignesh 1. 본인은 나름 싱가포르에서 어학연수 경험해봤기에 인도식 영어의 발음에 굉장히 익숙함 (인도식 억양에 굉장히 적응못하는 사람들이 은근 있음) 2. 컴공 다니는 느낌좀 나게 하려고 (이분은 화이트보드에 필기를 하신다. 학교에서 수업듣는것 같음) 3. 그동안 Mysql이나 Postgres도 깔짝깔짝 써봤지만 좀 깊게 들어갈 필요가 있을것 같다. 간단한 개요는 이렇고... 본인 역시 노트에 선생님이 화이트보드에 필기하신걸 받아적는데 그걸 그대로 올리기는 어려워서 한국어로 번역하고 구글링으로 살을 붙여 업로드 해보려 한다. Entity와 Attribute 데드바이 데이라이.. Origin/master(원격추적 브랜치) 알아보기 제일 중요한 점 : Git과 Github에서 관리되는 Repository는 다르다는 것 본인이 프로젝트 중간에 투입이 된다면, Git clone을 사용하게 된다. 말 그대로 프로젝트 코드들과 Git 관련 정보들을 복제해서 내 로컬 컴퓨터에 가져오는 것인데, 여기서 조금 당황할만한 상황이 있다. 관련 자료는 유데미 Colt 선생님 예제에서 가져왔다. 해당 깃허브 관련 내용이다. 브랜치가 총 6개 있다고 나온다. 그래서 룰루랄라 클론을 하고 git branch를 확인하는 순간 어? 난 분명히 Git clone으로 전부 가져왔는데 왜 브랜치는 같이 안왔지?? 라고 착각하기 쉽다. 그런데 잘 생각해보면 git branch 명령어는 내 local환경에 있는 브랜치를 보여달라는 명령어이다 git clone을 해오면.. Main 과 Master 브랜치의 차이(사실 별거없음) 처음 '협업' 이란걸 깃헙으로 해보면 거의 100% 당황하게 된다(본인도 경험) 지금까지 깃에서 'Master' 를 메인 브랜치로 놓고 여러가지 작업을 하다가 팀과 같이 협업한다고 '콜라보레이터' 등으로 등록해서 열심히 커밋해야지 하고 다짐한 순간... 갑자기 'Main'브랜치라는게 등장할때가 있다 근데 이름에서 느껴지듯 굉장히 중요해 보인다 . 그럼 이 정체는 뭘까? 별거 아니다. Git에선 Master란 브랜치를 default로 쓰고, Github에선 Master대신 Main으로 default를 쓰기 때문에 발생한 촌극이다. 그럼 왜 Github 에선 Main으로 바꾸었느냐. Master라는 단어가 주는 주종관계(????) 뉘앙스 때문이란다. 실제 기사 : https://zdnet.co.kr/view.. Git - Detached HEAD 당황하지 말자 본인은 이 상황에 처하자, 알집 압축본을 Slack으로 팀원들과 공유하고 Git 사용을 포기해본 적이 있다(...) 뭣때문에 그런지는 모르겠는데, 아마 SourceTree 관련해서 뭐 이것저것 만져보다가 뭘 잘못 눌러서 그랬던것 같다. (내 개인적인 생각인데, CLI로 깃을 먼저 철저하게 배워놔야 한다고 생각한다) 우선 HEAD 부터 알아야 하겠다. 각 브랜치에 있는 가장 최신의 커밋을 가치키는게 HEAD이다. 간단히 4개의 커밋이 있다고 해보자, 본인은 Master 브랜치만 있는 상태이고, 당연히 HEAD는 master의 가장 최근 커밋인 15a200c를 가치키고 있다. 근데 여기서 내가 second 커밋으로 돌아가기 위해서, git checkout efe765d 커맨드를 입력했다고 보자. 보통 깃에 .. router.use() requires a middleware function but got a undefined 영어 해석을 해보자면 라우터 문제다. 좀 더 자세하게 말하면, 라우터 만들고 app.js 에서 app.use 블라블라 로 라우터를 사용하는데 미들웨어 방식으로 Router를 import 해왔지만 그게 undefined란 소리다. 그럼 문제는 라우터 파일에 있다는 거고, 간단하다 나같이 바로 Exports로 만든 함수의 경우에는 라우터 리턴을 해줘야 한다 만약 module.exports = router; 로 했다면 그걸 빼먹으면 저런 오류가 나온다. 사실 이 오류는 영어 해석만 할줄 알면 해결할수 있을만한 오류다 터미널 이용시 : (END) 해결방법 적잖이 당황했으나 다소 황당한(?) 이유였다 이런 화면이 가끔 뜨는 사람들이 있을 것이다. 더 당황스러웠던건 키가 안먹힌다는것. 컨트롤 + C도 먹히지 않는다. 처음에는 내 컴퓨터가 고장난줄 알아서 굉장히 당황했는데... 이건 단순한 문제였다. 그냥 내가 터미널을 너무 작게 해놓고 쓰다보니 저 화면에 다 안나온다는 소리였다. 화면을 크게 늘리면 정상적인 화면이 된다 이제 입력 창도 정상적으로 된다. 그렇다면, 아까같은 화면에서 어떻게 나가는지가 제일 중요한데 그냥 q 누르면 된다. quit의 약자 아닐까 싶다. 이전 1 2 3 4 5 6 7 ··· 13 다음