지옥에서 온 Git

gistory 설치

수업소개

gistory는 git을 분석하기 위한 도구입니다. 명령을 내렸을 때 git의 내부에서는 어떤 일이 일어나는가를 분석하면서 git이 어떻게 동작하는가를 스스로 공부하는데 도움을 드리기 위해서 고안된 도구입니다. 

설치

1. python을 설치합니다. (python2, 3 모두 호환됩니다)

http://python.org/

2. pip로 설치합니다.

windows

pip install gistory

mac, linux

python2

sudo pip install gistory

python3

pip3 install gistory 

수업

공헌

gistory는 오픈소스입니다. 누구나 마음대로 수정해서 사용할 수 있습니다. 

https://github.com/egoing/gistory

댓글

댓글 본문
  1. kimpro
    최신 파이썬 버전으로 해당 프로그램을 업데이트했습니다.

    버전 문제로 고생하시는 분들은 아래 레포지토리 방문하셔서 사용 가능합니다.

    https://github.com......024

    감사합니다.
  2. Sansol Park
    에러 메시지에 따르면 imp 모듈을 찾을 수 없다는 것이 문제의 원인으로 보입니다. imp 모듈은 이전 버전의 Python에서 사용되었으나, Python 3.4 이후로는 importlib 모듈로 대체되었습니다. 그럼에도 불구하고, 여전히 일부 레거시 코드에서는 imp 모듈을 사용할 수 있습니다.

    사용자가 겪고 있는 문제를 해결하기 위해 다음과 같은 단계를 시도해 볼 수 있습니다:

    호환성 확인: gistory가 현재 사용 중인 Python 버전과 호환되는지 확인합니다. 문제가 발생하는 Python 버전이 최신 버전 (예: Python 3.12)이라면 gistory가 아직 이 버전을 지원하지 않을 수 있습니다. 이 경우, gistory의 문서나 웹사이트에서 호환성 정보를 찾아보세요.

    라이브러리 설치: imp 모듈이 필요한 경우, 호환되는 Python 버전을 사용하고 있는지 확인하고, 필요하다면 해당 모듈을 설치하거나 업데이트할 수 있습니다. 이 경우, Python 3.12를 사용 중이라면 importlib를 사용해야 할 수도 있습니다.

    가상환경 사용: 다른 Python 버전을 설치하고 싶지 않다면, virtualenv를 사용하여 gistory와 호환되는 Python 버전의 가상환경을 생성할 수 있습니다. 이 방법을 사용하면 시스템의 기본 Python 환경을 변경하지 않고도 다른 버전의 Python을 사용할 수 있습니다.

    gistory 업데이트: gistory가 최신 버전인지 확인하고, 업데이트가 필요하다면 최신 버전으로 업데이트합니다.
    의존성 문제 해결: pip 명령어를 사용하여 누락된 모듈을 설치할 수 있습니다. 예를 들어, 다음 명령어를 사용하여 필요한 패키지를 설치할 수 있습니다:

    pip install importlib

    gistory 개발자에게 문의: 위의 단계를 모두 시도한 후에도 문제가 해결되지 않는다면, gistory의 개발자나 지원 포럼에 도움을 요청할 수 있습니다.

    에러 메시지를 바탕으로 한 이러한 해결책들이 문제를 해결하는 데 도움이 되길 바랍니다. 만약 다른 문제가 발생하거나 추가적인 도움이 필요하다면, 언제든지 알려주세요.

    GPT-4 를 활용한 답변입니다.
    대화보기
    • 콩콩
      Traceback (most recent call last):
      File "<frozen runpy>", line 198, in _run_module_as_main
      File "<frozen runpy>", line 88, in _run_code
      File "D:\download\python312\Scripts\gistory.exe\__main__.py", line 4, in <module>
      File "D:\download\python312\Lib\site-packages\gistory\index.py", line 4, in <module>
      from gistory import bottle
      File "D:\download\python312\Lib\site-packages\gistory\bottle.py", line 47, in <module>
      import base64, cgi, email.utils, functools, hmac, imp, itertools, mimetypes,\
      ModuleNotFoundError: No module named 'imp'



      이런에러가 뜨면서 절대 안되는데 ㅠㅠ 해결방법 아시는분 있을까요
    • 웅냐콩
      gistory 설치하면서 오류 발생했던 것 정리 하겠습니다.

      0. pip 로 gistory 설치시 아래와 같은 오류가 반복
      WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1125)'))': /simple/pip/

      =>> --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.org 옵션을 pip install gistory 뒤에 붙여주시면 됩니다.


      1. 포트 번호가 ?로 나오는 경우
      Fatal error in launcher: Unable to create process using
      '"C:\Users\내꺼 \AppData\Local\Programs\Python\Python310\python.exe"
      "C:\Users\내꺼\AppData\Local\Programs\Python\Python310\Scripts\gistory.exe" ': ??? ??? ?? ? ????.

      ==> gistory 설치시 python -m pip install gistory 로 설치하시면 됩니다.
      * 이미 기존에 설치하셨다면 cmd 에서 "C:\Users\내꺼\AppData\Local\Programs\Python\Python310\Scripts로 이동해서 gistory를 지워주시고 재설치 해주세요

      2. gistory 설치는 되었지만 파이썬 버전이 높아 import에러가 뜨는 경우
      ImportError: cannot import name 'MutableMapping' from 'collections'

      ==> 파이썬 버전을 3.8로 내려주시면 됩니다. 아마 가장 댓글쓰는 날 기준으로 3.10이 가장 최신인데 버전이 너무 높아서 import하는 명령어가 달라져서 그런 것 같습니다. 삭제는 설치프로그램 재실행하면 delete있으니 그거 해주시면 자동으로 삭제되고 3.8버전 찾아서 설치하시면됩니다. cmd 에 py -V 하시면 현재 파이썬 버전 확인 가능합니다.

      저는 최종적으로 py-V로 확인 했을때 3.8.9 버전이며
      gistory 설치는 다음과 같은 옵션을 붙여 설치했습니다. python -m pip install gistory --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.org

      아래 댓글에서와 마찬가지로 .git에 이동해서 gistory 실행하시면 정상적으로 포트번호 나옵니다!
    • 20210613
    • 고스트프리
      오류가나는데 계속 해결을 못하고있네요....
      혹시 아시는분 답변 좀 부탁드립니다.^^

      $ gistory .git
      Bottle v0.13-dev server starting up (using WSGIRefServer())...
      Listening on http://0.0.0.0:8805/
      Hit Ctrl-C to quit.

      Traceback (most recent call last):
      File "c:\python\python36\lib\runpy.py", line 193, in _run_module_as_main
      "__main__", mod_spec)
      File "c:\python\python36\lib\runpy.py", line 85, in _run_code
      exec(code, run_globals)
      File "C:\Python\Python36\Scripts\gistory.exe\__main__.py", line 9, in <module>
      File "c:\python\python36\lib\site-packages\gistory\index.py", line 118, in main
      run(host='0.0.0.0', port=_port, debug=True)
      File "c:\python\python36\lib\site-packages\gistory\bottle.py", line 3241, in run
      server.run(app)
      File "c:\python\python36\lib\site-packages\gistory\bottle.py", line 2815, in run
      handler_cls)
      File "c:\python\python36\lib\wsgiref\simple_server.py", line 153, in make_server
      server = server_class((host, port), handler_class)
      File "c:\python\python36\lib\socketserver.py", line 453, in __init__
      self.server_bind()
      File "c:\python\python36\lib\wsgiref\simple_server.py", line 50, in server_bind
      HTTPServer.server_bind(self)
      File "c:\python\python36\lib\http\server.py", line 138, in server_bind
      self.server_name = socket.getfqdn(host)
      File "c:\python\python36\lib\socket.py", line 673, in getfqdn
      hostname, aliases, ipaddrs = gethostbyaddr(name)
      UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb0 in position 0: invalid start byte
    • 지나가던개발자
      아래에 '이현수'님 댓글처럼 따라하시면 됩니다.
      대화보기
      • 고스트프리
        저랑같네요 ㅎㅎ
        대화보기
        • 송지원
          감사해요 맥유져 인데 해결했어요!!!
          대화보기
          • dlsdlworld
            마지막에 git에서 gistory 입력하면 Please execute in .git directory. (.git ▒▒▒丮▒▒ ▒̵▒▒▒ ▒Ŀ▒ ▒▒▒▒▒▒▒ּ▒▒▒)
            이렇게 떠요
          • supernet
            완료!!
          • 김보미
            저두요! 현수님 덕분에 gistory가 작동되었어요! 이고잉님처럼 화면에 bottle v0.13-dev server starting up (using WSGIrefServer())... (생략) Hit Ctrl-C to quit. 은 화면에 출력되지 않았어요. Git Bash 창을 닫을려고 했더니 창이 뜨면서 메세지 내용은 .. is running .. (생략)이던데 화면만 출력되지 않았지 작동중인걸까요? 무튼 localhost:8805 직접 주소창에 입력해서 접속할 수 있었어요, 왜 Git Bash 창에 숫자가 나타나지 않았나 싶네요. 어쨋든 설치는 했습니다.
            대화보기
            • 빽토리얼
              계속 syntaxError: invalid syntax 뜨면서 진행을 할 수가 없습니다 어떻게 해야하나요??????
            • _Thousand_
              저도 현수님 같이 하니까 됐습니다. 감사합니다.
              대화보기
              • 박찬준
                윈도우 환경에서 아나콘다를 이용해 파이썬을 사용하는 분들은
                아나콘다 프롬프트(Anaconda Prompt)에서 gistory를 설치하시고, 아나콘다 프롬프트를 껐다가 재실행하세요.
                그 다음 역시 아나콘다 프롬프트 상에서 실습 폴더의 .git 디렉토리로 이동한 다음
                gistory 명령어를 입력해보세요.

                cmd 에서는 파이썬 명령어를 환경변수에 추가해야 해서 복잡하더라구용.
              • 혹등고래
                감사합니다. 덕분에 문제를 해결했습니다.
                대화보기
                • 이현수
                  윈도우10 기준

                  1. 환경변수 - 시스템 변수 - Path - 편집 - 새로 만들기 - C:\파이썬 경로\Python\Python37-32\Scripts\
                  2. cmd : pip -V (버전확인)
                  3. cmd에서 git 폴더로 이동 - gitstory 입력 ( .git폴더로 이동하라고 하면 cd .git으로 이동 )
                  4. 다시 gistory 입력

                  저는 이렇게 하고나서 됐습니다.
                • 빈이아빠
                  ubuntu에서 gistory를 install을 했고, gitfth로 directory를 이동해서 gistory를 입력하면,
                  명령을 찾을 수 없습니다.라고 나오는데, 어떻게 해야 하는가요?
                  설치를 할때 나온 내용은 하기와 같은데...고수님들 좀 알려주세요.

                  pip3 install gistory
                  Collecting gistory
                  Using cached https://files.pythonhosted.org......whl
                  Collecting six (from gistory)
                  Using cached https://files.pythonhosted.org......whl
                  Installing collected packages: six, gistory
                  Successfully installed gistory-0.44 six-1.12.0
                • 소농민
                  밑에분 감사합니다 git폴더에 간다음에 gistroy .git하니까 되네요
                • Dongucci
                  gistory .git 하니 되네요
                  대화보기
                  • fish5542
                    관리자권한으로 해결.....
                  • mirror
                    마지막에 gitstory를 실행하면

                    Please execute in .git directory. (.git 디렉토리로 이동한 후에 실행해주세요)

                    이렇게 나오네요ㅠㅠ 뭐가 문제일까요??
                  • PassionOfStudy
                    gistory 설치 완료했습니다 ^^

                    원리를 파악하러 다음 강의로 레고!
                  • Deuklyoung Ko
                    윈도우 10 32bit 사용자 입니다.(ㅜㅜ)

                    설치는 아래 댓글 대로 시도해 보시면 될 것 같고요.
                    (전 pip install gistory 로 설치 했습니다.)

                    추가하자면
                    * path 변경 후 bash창이나 cmd창 닫고 다시 여세요..
                    * gistory 설치 시 에러가 나면서 설치가 중단 되기는 하는데
                    gistory 명령어 입력하면 작동합니다.(cmd창은 반응이 없지만)
                  • 제로스
                    윈도우7 입니다. 제 나름대로의 설치방법
                    -> 왠만하면 gistory설치와 실행까지 cmd창에서 진행하고 GitBash로 git을 동작시키면서
                    웹브라우저로 실시간 확인을 하니 괜찮더군요.. (cmd창은 계속 gistory 실행중, CTRL+C 종료)

                    1. 관리자 권한으로 설치파일 실행
                    2. Add Python 3.6 to PATH 옵션체크
                    3. Customize installation으로 들어감 (원하는 경로를 위해)
                    4. Install for All User 선택 (경로가 바뀜)
                    5. 설치버튼 클릭 (시스템변수 PATH확인 : C:\Program Files\Python36\Scripts\; C:\ProgramFiles\Python36\; )
                    6. 설치완료 후 cmd창에서 python -V로 확인
                    7. cmd창에서 pip -V로 확인 (pip3 -V도 됨)
                    8. 관리자 권한으로 Git Bash 실행 (cmd에서는 다됨)
                    9. pip3 install gistory 입력 (gistory 설치)
                    10. .git폴더가 있는 저장소 경로로 이동
                    11. gistory 입력 (cmd에서 .git폴더가 있는 저장소 에서)
                    12. 0.0.0.0:xxxx (뒤에나오는 xxxx를 기억)
                    13. 웹브라우저(크롬)에 localhost:xxxx를 입력 (예 : localhost:8805)
                  • 테리유
                    윈도우 10 사용자 입니다. 밑의 댓글들을 읽으시면 gistory 설치에는 문제가 없을 것 같습니다만,
                    git bash에서 gistory 실행한 후, http://localhost:8805 들어간 이후에 들어가서 왼쪽의 항목들을
                    클릭해도 동영상 강의 처럼 뭔가 로그가 뜨지 않는 것을 확인할 수 있을 겁니다.
                    저도 맨 처음엔 그게 안되서 뭔가 잘못되었다고 느꼈었는데, 지금 깃을 공부를 쭉 하고
                    다시 해보니, 로그가 안 뜨게 버전이 업 된 것 뿐이지, 나머지 작업을 그대로 따라서 하시면
                    (or f1.txt를 이미 add 하셨다면 vim f2.txt로 새로 만들어서 a 입력후 wq 후 새로 git add f2.txt 해보십시오.)
                    just now가 뜨게 되고 7898로 시작하고 85로 끝나는 것을 확인 하실 수 있으실 것입니다.
                  • 전준혁
                    windows 10 사용자입니다. 파이썬3 사용자분일 경우 pip install gistory가 아닌 pip3 install gistory 로 gistory를 설치해 주신 이후, .git이 들어있는 폴더안에서 gistory를 입력해주세요. 아무것도 뜨지 않지만 gistory서버를 runserver하는 역활을 하는 것 같습니다. 이후 포트번호는 cmd창에서 gistory를 입력하시면 알 수 있습니다. 접속하니 잘되네요!
                  • haMsa
                    맥에서 Python깔고 pip3 install gistory 터미널 창에서 입력하니 별 무리 없이 설치되었습니다. 맨 앞에 sudo를 쓸 때에는 패스워드 넣으라고 하면서 먹통되어 버렸습니다. 감사합니다.
                  • gitnovice
                    git bash 실행 > git init 한곳에서 gistory 실행시 아무런 메세지가 뜨지안아 Python > scripts 폴더에 gistory.exe를 실행해서 browser에 ://......로 입력하니 git init한 곳이 아닌 첫 번째 실습(gitfth)폴더의 .git directory가 보여집니다. git init한 gitfth2 폴더 내용을 보이게 하려면 어떻게 해야하나요?
                  • wing963
                    윈도우7 기준 - gistory 입력 후 아무런 메세지 안뜨는데, localhost:8805 로 하니까 제목만 떴었다가 해결해서 참고하시라고 올립니다.

                    작업관리자에서 python 실행중인 것들 다 끄고,
                    git bash 실행 -> git init 한 곳에서 gistory 실행 -> localhost:8805
                    (원인은 모르겠으나 gistory 실행시 메세지가 뜨지 않아도 정상적으로 실행되는 것 같으니 넘어가셔도 될 것 같네요.)
                  • 알파고
                    git bhsh 에서 .git 디렉토리로 가서 gistory를 입력해도 결과가 나오지 않는데,

                    그냥 웹브라우저에서 localhost:8805라고 하니까, gistory 페이지가 나오긴 하네요.
                  • shㅗ
                    윈도우10 입니다.
                    pip을 이용해서 gistory 설치 완료까지 했는데
                    git bash에서 gistory를 실행하니까 아무것도 안뜹니다.

                    1)저같은 경우는 Power shell 에서 gistory을 입력하니 실행되었습니다.

                    2)윈도우10같은 경우는 power shell에서 pip install gistory입력하면 설치됩니다.
                  • Coing
                    저도 그러네요
                    대화보기
                    • needss
                      일단 웹페이지 상단의 "Gistroy"는 뜨는 것으로 봐서, Web UI표현쪽에 문제가 있는 것이 아닌가 싶습니다.
                      얼마전에 부트스트랩 4.0 업데이트 되면서 문법이 크게 바뀌었습니다.
                      제 생각에는 bootstrap.js 쪽이 문제라고 봅니다.
                    • needss
                      리눅스에서도 같은 아무것도 뜨지 않습니다.
                      버전업이 되면서 뭔가 달라진 점이 있을 거라고 봐야 맞겠네요.
                    • needss
                      파이썬설치후 환경변수 설정. pip install gistory. 설치완료.
                      .git디렉토리에서 gistory실행.
                      여기까지 잘 되는 것 같은데요.
                      localhost:8805 들어가서 보니까 상단에 Gitstory만 써져있고 아무것도 안 떠요.

                      운영체제 호환이 안 되는 걸까요?
                      윈10 쓰고 있습니다.
                    • 마른비
                      pip을 이용해서 gistory 무난하게 설치 완료까지 했는데
                      git bash에서 gistory를 실행하니까 아무것도 안뜨고 빈 입력만 계속 받네요...

                      ctrl + c로 강제 종료는 되는데 uninstall 하고 다시 깔아도 계속 이러네요.
                      도대체 왜 이러는 걸까요?
                    • 파이손
                      윈도우는 기본적으로 띄어쓸때는 "" 로 감싸야 합니다. 띄어 쓰기가 가장 문제 되지 안나 싶네요
                      다른 프로그램들도 다그래요 맥은 \/ 이런걸로 띄어쓰기 처리하던데..
                      대화보기
                      • pyson
                        와 기스토리 동영상 재생 버튼 누르니 생활코딩 인강 나와서 혹시나 해서 파이파이서 검색해보니 이고잉님이 직접 만드신거군요. 파이썬 유저로써 강의의 본질인 깃의 원리는 안보고ㅋㅋㅋ, 만드신 기스토리코드를 분석하고 좋은 코드들을 많이 얻어 가는 의외의 소득이 있었습니다. 맛있습니다!!
                      • MiJey
                        gistory 설치는 성공적으로 됐는데 실행하려고 하면 failed to create process라는 에러메시지가 나와서 검색해보니 설치 경로상에 있는 띄어쓰기가 문제라는 글이 있더라고요.(https://stackoverflow.com......ess)
                        스크립트에 있는 경로에 쌍따옴표(")를 붙여서 해결하라는데... 그냥 파이썬을 띄어쓰기가 없는 폴더 아래에 다시 설치해서 해결했습니다. 기존에 파이썬3만 설치되어 있었는데 파이썬2, 3을 모두 띄어쓰기 없는 경로로 재설치하였습니다. 환경변수도 다시 편집했고요.

                        문제를 해결하면서 시도해 본 것들이
                        1. 파이썬3를 띄어쓰기 없는 경로에 다시 설치
                        2. 파이썬2를 띄어쓰기 없는 경로에 새로 설치하고 gistory설치
                        3. 환경변수 편집에서 파이썬3 보다 파이썬2가 먼저 오도록 순서 바꿈
                        4. git bash와 윈도cmd를 관리자 권한으로 실행

                        이렇게 4가지 인데, 이 중에 무엇이 핵심적으로 동작했는지는 모르겠네요.

                        이제 gistory가 성공적으로 실행은 되는데 git bash에서는 아무것도 안뜨면서 커서만 깜빡거리고(gistory 실행은 잘 됨), cmd에서는 포트번호까지 잘 뜨네요. 밑에 댓글을 보고 Python/Scripts에 있는 gistory.exe를 직접 실행해도 cmd에서 gistory를 실행한 것과 동일하게 포트번호를 확인할 수 있었습니다.

                        windows10 사용자입니다.
                      • graciass
                        따라쟁이님과 Yoo Moon Il 님이 알려주신 방법대로 겨우겨우 해결햇습니다. 정말 감사합니다.
                        대화보기
                        • Yoo Moon Il
                          밑 따라쟁이님 링크대로 해서 성공했습니다. 링크에서 Easy Install 설치에서는 두번째 단락 지시한대로 따라했고(첫번째 단락은 뭔말인지 모르겠음).. git 터미널에서 gistory치니깐 아무것도
                          안나타 나서 C:\Users\PRO\AppData\Local\Programs\Python\Python36-32\Scripts 링크로 들어가서 gistory.exe 더블 클릭해서 포트번호 확인했습니다.
                        • 딤채
                          윈도우면,
                          cmd에서 해보세요~
                        • Jay Yoon
                          Errno13 퍼미션 거부당했다고 에러뜨시면 관리자권한으로 cmd실행해보셔요 오늘 3시간 냠냠의 원인 ㅠㅠㅠㅠ
                          gistory설치까지 마쳤지만, git_bash에서 gistory입력시 먹통되네요,,ㅠ
                        • flynn
                          혹시 맥사용자중에 파이썬은 깔려있지만 pip 설치 안되있어서 python3.x 설치하시고 sudp pip3 install gistory로 설치하신분들 중에 .git이 있는 폴더에서 gistroy명령어 못찾는다고 나오시는 분들은
                          1) pip설치 : sudo easy_install pip
                          2) gistory설치 : sudo pip install gistory
                          하신다음에 gistory실행해 보세요~
                        • 비둘기99
                          아 몇번을 깔앗다 지웟다 버전 다 바꿔보고 그랫는데 안되네요
                          강사님이랑 똑같이해도 안되요
                          버전별로 pip install gistory 치면 설치가 되는게 잇고 안되는게 잇는데
                          설치가 되더라도 git 잇는 폴더에서 gistory치면 그냥 먹통됨 마치 무한루프 걸린것처럼
                          설치안되는건 말할것도 없구요

                          아래 분들이 해보란거 다 해봣는데 안됨..
                          윈도우10사용자 최신업뎃 다되잇음..
                        • 이현수
                          설치할 때 path자동으로 추가해 주는데 체크하니 잘되요 ^^
                        • 따라쟁이
                          윈도우 사용자이시면
                          http://wlsufld.tistory.com/17
                          이거 보시고 따라 해보시면 pip로 인스톨 가능합니다
                        • 박박박
                          윈7을 쓰고있습니다.

                          파이썬을 지웠다 까니 작동하는 기적을 맛보았습니다...

                          파이썬 설치할때 사실 제가 경로추가를 안한것 같습니다 하하 답변 감사합니다~
                          대화보기
                          • egoing
                            혹시 맥을 쓰시면 pip3라고 입력해보셔요~
                            대화보기
                            버전 관리
                            egoing
                            현재 버전
                            선택 버전
                            graphittie 자세히 보기