지옥에서 온 Git

commit의 원리

수업소개

commit을 했을 때 내부적으로는 어떤 일이 일어나는가를 알아봅니다. 

수업

댓글

댓글 본문
작성자
비밀번호
  1. 정우희
    commit message object(이하 cmo)와 tree를 구분짓고 cmo가 tree를 참조하는 이유는 git이 어디에선가 tree를 다른 객체를 통해서 공유해야만 하기 때문이 아닐까요?
    강의를 순차적으로 듣고 있는데, 여기까지의 지식만으로는, 확인은 해보지 않았지만, git revert가 가장 유력한 후보일 거라고 생각합니다. 복제한 파일에서 sha1으로 중복을 최소화하는 개념과도 통하기도 하고요.
  2. 기스토리 실행시 나오는 페이지에 연결되어 있는 영상을 중간에 (필기하면서ㅠ) 보니 이해가 잘 갔습니다.
  3. 누더기
    commit, tree, blob 모두 외부에서 보기에는 큰 차이점이 없는 object 입니다.
    구분이 되는 이유는 용도가 다르기 때문입니다.
    간단하게 구분해 보면,
    blob - 파일 하나의 내용을 보관
    tree - blob 목록, tree 목록(포함 디렉터리, 없으면 제외) 보관
    commit - parent(이전 commit, 이전 commit 없으면 제외), tree, author(코드 작성자), commit(코드 제출자) 보관
    대화보기
    • VivaHong
      commit 과 tree의 object id를 따로 만든 이유가 parent id로 구분하기 위함인지 좀 헷갈리네요..;
    • 밀하우스
      좋은 강의 잘봤습니다. 이번 강의는 꽤나 어려웠네요..ㅎㅎ
    • 특히나 유익한 강의였습니다.
      다른 부문의 대규모 데이터 분산화 처리에서 보았던 방식과 유사한 것도 확인할 수 있었어요.

      저는 비전공생인데, 이렇게 원리를 쉽게 설명해주시는 것이
      learning curve를 빠르게 하는데 도움이 되는 것 같습니다.
    • blindlee1324
      보통이라면 원리같은 건 별로 신경쓰지 않을텐데, 설명을 잘 해주셔서 보기만 해도 재밌네요
    • 옴멤메
      ㅁㄴㅇㄹ //
      허허...일상 '생활' 가능?
    • adsf// 허허...gistory만든걸 자랑하고 싶은거냐고 물어보다니.
      그런걸 자랑하고 싶으면 egoing님이 이런걸 무료로 강의나 할까싶네요
      git명령어 수행시 내부적으로 어떤 동작들이 이루어 지는지 원리를 알면 훨씬 이해가 잘됩니다.
      본인이 어렵다고 저렇게 예의 없게 댓글을 달다니 보기 무척 안좋네요.
      어디서나 무료로 좋은 의도로 뭔가 하면 항상 꼬투리를 잡고 더 많은걸 바라는 사람들이 있더군요.
      그것도 항상 예의 없이, 버릇없게 댓글을 답니다. 그 일로 상심해서 연재 같은걸 중단 하시는 분들도 계시던데
      egoing님은 그러실 분은 아니지만 힘내시라고 댓글 답니다.
    • GIT 초보자
      정말 감사드립니다.
      GISTORY는 엄청난 도구입니다.
      원리를 알아야지 뭐랄까... 속이 뻥 뚫리는 기분이 듭니다.

      소프트웨어 분야를 공부할 때 원리를 알아보려다가 힘이 다 빠지는 경우가 있는데
      GIT 공부를 할 때에는 생코님 덕분에 원리를 쉽게 알 수 있어 쉽게 편하게 공부가 됩니다!

      정말 감사드립니다~
    • 저는 gistory에 엄청 감탄했고 도움을 많이 받고 있습니다. 저는 이렇게 들을 수 있다는 것만으로도 감사할 따름입니다. 항상 응원합니다!
    • 글에서 그 사람의 인격이 묻어납니다.
      돈을 받고 들어도 아깝지 않은 강의를 무료로 듣고 있는데...
      감사하다는 말이 먼저나와야 사람인겁니다.
    • 비둘기99
      asdf
      너무 어려워서 초반부터 포기하게 만들지말자 라는 이야기는 뭐 좋은 취지 같은데
      말투가 너무 공격적이고 꼬여있네요
      아무리 온라인이고 익명이지만 예의는 지키죠
      무료로 강의듣는것만해도 감사할줄 알아야죠
    • double thanks!!!!
    • 저어 밑에사람 말하고싶은건 알겠는데 엄청 아니꼽게 말하시네
    • eremuse
      egoing님의 수업은 나날이 버전업이 되어가는군요.
      gistory를 통해서 git의 원리를 알려주는 강의는 이것이 유일하지 않을까 싶네요.
      설명을 정말 잘해주셨지만 아마도 용어와 텍스트로만 설명하다 보니 개념을 정리하는데 어려움이
      있나 봅니다. 하지만 그래도 원리를 이해하고 나아가 직접 실습을 통해 확인할 수 있다는 것은
      egoing님 말처럼 오랜시간 기억에 남아서 오히려 학습시간을 단축하게 될 것 입니다.^^
      'commit의 원리' 라고 구글에 검색해서 이미지를 찾아보시면 egoing님이 설명해주신 부분에 대한
      다이어그램이 있어서 아마 개념 정리하는데 도움 되실거에요 참고하시기 바랍니다.^^
    • groundntree
      * f2.txt 파일내용을 수정하고 커밋하기
      vim f2.txt
      git add f2.txt
      git commit

      * d1 디렉토리를 생성하고 f1.txt 복사해서 커밋
      mkdir d1
      cp f1.txt d1/f1.txt
      ls -al
      git add d1/f1.txt
      git commit
    • 이보나
      분명 이고잉님이 전에 언급하셨을텐데요 , 원리 건너뛰어도 상관없다고
      대화보기
      • egoing
        저는 완전히 괜찮습니다. 걱정 마셔요~ 응원 감사하고요. 계속 재미있게 공부하셔요!
        대화보기
        • 날카로운지적이시다
          날카로운 지적이십니다만.
          아예 이 강의에서 이걸 빼는게 좋지 않을까 싶네요는 적절한 말은 아닌 것 같습니다.
          이해 못하겠으면 안보면 되지. 왜 이런 나같은 사람들에게는 매우 좋은 글을 그런식으로 좀 기분나쁘게 말하시는건지 모르겠습니다.
          그러한 좀 기분나쁜말에 이고잉님이 우울증에 빠져서 이런 내게 도움이 되는 영상을 볼 수 없게 되면은 내가 얼마나 손해인데;;; 그래서 이런 댓글을 답니다.
          이고잉님. 제가 댓글을 자주 안달았습니다만. 댓글을 자주 안달지만 이고잉님이 올리신 이런 영상들 정말로 고맙게 생각하고 있어요.!!!!!!!!!!!!!!!!!!!!!!!!!!!
          대학교 강의보다 100배 나아요. 온라인에서 공부하는 것에서 한줄기의 빛이에요 ㅠㅠㅠ...
        • egoing
          asdf님 조언 고맙습니다. 다음 강의를 만들 때 참고할께요.
          대화보기
          • egoing
            asdf님 말씀처럼 이 파트는 다소 어렵습니다. 이 부분을 건너 뛰고 git의 혁신인 branch로 넘어가시는 것도 좋습니다. 강의를 만들 때 원리부분을 몰라도 사용법을 익히는데는 아무 문제가 없도록 주의하면서 만들었습니다. 편하게 넘어가 주셔요~
          • 갓고잉
            커밋안에 트리가 있고 트리안에 트리랑 블랍있고 또 트리안에 트리있고
            트리는 디렉토리고 블랍은 파일인가
            혼란하다혼란해
          graphittie 자세히 보기