지옥에서 온 Git

원격 저장소를 지역 저장소로 복제(Github)

수업소개

여기서는 github.com이라는 서비스를 소개하고, 이 서비스를 이용해서 이미 존재하고 있는 오픈소스의 원격저장소의 내용을 내 컴퓨터의 지역저장소로 가져오는 방법에 대해서 알아봅니다. 이 과정에서 git의 소스코드와 이 소스코드의 첫번째 커밋의 내용도 알아봅니다. 

수업

수업내용

git의 저장소

git의 소스코드를 지역저장소로 가져오기

git clone https://github.com/git/git.git

로그를 거꾸로 출력하기

git log --reverse

git의 첫번째 커밋으로 체크아웃하기

git checkout e83c5163316f89bfbde7d9ab23ca2e25604af290

댓글

댓글 본문
  1. 유리바다
    와... 이래서 지옥에서 온거구나...
    git from the hell!!!!!!!!!!
  2. 20210614
  3. 주니어개발자
    크...
  4. supernet
    완료!!!!
  5. 게케게케
    정말 감사합니다!
  6. 정동인
    쉽게 설명해 주셔서 감사합니다. ㅎㅎ
  7. PassionOfStudy
    git의 역사를 볼 수 있는 경험을 제공해 주셔서 감사합니다 ^_^

    리누스토발즈님의 첫 커밋을 보니 신기하네요

    그리고 이제야 이고잉님이 왜 지옥에서온git이라고 하신지 알게되었습니다 ㅎㅎ
  8. 초간단
    github에서 이미 존재하는 프로젝트를, 우리의 컴퓨터로 가져오는 것을 먼저 살펴보겠음.

    git을 검색해보자.
    fork라는거 누르면 이 프로젝트가 내꺼가 됨.
    이 contributor가 안되도 할수있는거임. 라이센스를 따와서 마음껏 쓸수있다는거임.
    fork하면 주소가 내 아이디/git으로 바뀜.

    복제하고나서, clone or download눌러서 url주소 복사한다.
    $git clone 복사한url주소 gitsrc (이번엔 init이 아닌 clone임)
    라고 두면, gitsrc란 폴더에 clone을 한다.
    $ls -al
    $cd gitsrc
    $ls -al 굉장히 많다
    $git log 굉장히 많다
    $git log --reverse 하면 로그를 처음부터 역사를 볼수있다.
    첫번째 저자는 Linus Torvalds였다.(!!)
    $git checkout 커밋아이디 입력하면, 그 커밋id의 브랜치로 바뀜.
    이 커밋id로 브랜치 checkout하듯이 이동한것임.
    $ls -al하면, 여기서 무슨 파일이 있는지 볼수있음.

    (Summary!!)
    원격저장소의 내용을 로컬저장소로 가져오려면,
    $git 입력하면, init,clone의 설명중 clone을 쓰면 된다.
    $git clone [주소] [저장디렉토리]
  9. Miki
    $ git clone https://...

    후에

    $ git log --reverse

    를 하니,

    fatal: Not a git repository (or any of the parent directories): .git

    이라는 에러가 나옵니다.

    git init를 안해서 .git 파일이 생성되지 않은 듯 해요.

    그럼, init 대신 clone을 하면 안되는 것이 아닐까요?
  10. software.lee
    감사합니다.
  11. pphhss
    와 리누즈 토발즈가 처음 만든 소스코드를 볼 수 있다니.... 정말 혁명이네요. 좋은 정보 알려주셔서 감사합니다.
  12. node.js
    영상 시작에 포크를 보니까 깃에서의 포크가 생각이 나네요
  13. 제로스
    git clone 원하는 github주소 복제할 디렉토리명
  14. 유기농브래드
    여기서 [지옥에서 온~] 제목배경이 나오는 군요~~ :)
  15. 오빠는다르다
    감사합니다~^_^
  16. 고스트프리
    원리는 패스합니다.^^
  17. 김유성
    리눅스 토발즈, 필요한 것을 그냥 뚝딱 만들어서 쓰는 영화에 나오는 천재 과학자 같네요.
    대화보기
    • 김수현
      git 소스코드를 지역저장소로 가져오기
      https://github.com/ 에 가서 git이라고 검색해 보자
      git/git이라고 나오는 부분이 있음
      https://github.com/git/git <-- 주소를 직접 입력해도 됨
      배우고 있는 git이라고 하는 오픈소스프로젝트의 저장소를 보고 있는 것임
      다운로드하지 않고도 다른 사람에게 공유할 수 있음
      커미츠라고 되어 있는 부분(왼쪽위 타이틀 부분)이 프로젝트의 커밋수를 나타냄
      이브랜치가 5개의 브랜치로 구분되어 있다
      마스터가 매인일 것이고,
      todo 해야될 일을 모아 놓았을 것이고
      깃이라고 하는 것은 이런 식으로 브렌치를 나누어서 하고 있다
      다시 백하겠습니다. 이소스에 접근할 수 있는 사람이 (컨트리뷰터스)
      아래로 쪽 내려가면 프로젝트의 소개가 나옴
      위에 보면 와치(몇명이 지켜보고 있는지), 스타(몇명이 좋아요를 했는지), 포크(아주 중요한 부분임, 포크를 누르면 프로젝트가 여러분의 것이 됨)
      아래 제목줄의 컨트리뷰터가 되지 않아도 여러분 맘대로 수정할 수 있게 됨 - 포크하면
      하지만 git/git개정의 소스코드를 바꾸는 것이 아니라 복재된 소스코드를 맘대로 수정할 수 있는 것 <-- 개발자 문화의 굉장히 중요한 측면
      포크를 한번 해보겠습니다.
      로그인을 해야 함
      포크를 하면 git/git의 주소가 바뀜 > 포크하는데 시간이 걸림
      회원가입하지 않아도 됨 > 포크는 어떻게 하는지 보여주는 것임
      egoing/git으로 바뀜 (이고잉이라는 사용자의 git으로 바뀜, 이 프로젝트는 git/git에서 왔다고 되어 있음)
      프로그래머의 세계에서는 독특한 미래지향적인 면이 있어서
      포크는 자신에 대한 평판을 의미함 > 다른 사람이 포크해 가기를 기대함/그리고 노력함
      개발자들의 문화 /오픈소스/ 생산수단이 개방적이고 열려있는 문화를 가지고 있는 것

      타이틀 오른쪽 아래의 클론 오어 다운로드에서 클론 위드 http확인하시고
      주소를 카피합니다.
      여러분의 적당한 디렉토리로 이동하겠음
      gitsrc라는 디렉토리를 만들고
      그곳에 코드를 넣을 것임
      git init을 사용했는데...이번에는
      git clone 을 사용할 것임
      git clone 원격저장소의 주소 gitsrc (9:00)
      gitsrc디렉토리에 클로닝을 하게 됨
      이것을 하는 것은 로그인이 필요하지 않음
      ls -al
      gitsrc라는 디렉토리가 있음
      들어가 보면 이렇게 많은 파일들이 있음
      여러분이 이것을 직접 분석하는 일은 굉장히 어려운 일임
      git log
      깃의 첫번째 커밋이 무엇인지 한번 가보자
      git log --reverse (꺼꾸로 로그를 볼 수 있음)(10:5)
      첫번째 ID를 복사해서 q해서 나간후
      git checkout ID (과거로 돌아가는 방법)
      복잡한 메시지중 ID의 이름이 바뀜
      지금은 브렌치가 커밋이 된 것임
      그리고 git log를 해보면...하나만 나옴
      그 이후에 있는 것은 삭제된 것이 아니라 안보이게 된 것
      그리고 소스코드를 보면 이렇게 몇개되지 않음
      분석할 만한 규모임
      깃의 첫번째 모습은 이정도의 모습으로 되어 있다.
      원격저장소를 사용하는 기본적인 방법중에서 오픈소스 자신의 컴퓨터로 끌고 오는 방법에 대한 수업이었기 때문에 여기서 깁게 나가지는 않지만
      원리수업 어딘가에서는 깃의 첫번째 커밋에 해당되는 깃의 원형 어떻게 동작했고 어떠한 코드로 이루어 졌는지에 대해서 나름대로 분석해볼생각임
      초창기 + 복잡한 것이 제거된 + 본질을 다 가지고 있는 빠르고 덜 고통스럽게 볼 수 있을 것이다.라고 생각함
      관심있는 사람의 깃의 원리 수업도 관심을 가져주시길 바람

      정리해 보겠습니다.
      원격저장소의 내용을 로컬저장소로가지고 오고 싶은 경우
      git
      init과 clone이 있는데 그중에서 클론을 사용하면 됨
      git clone 원격저장소의 주소 gitsrc (저장하고 싶은 디렉토리를 지정)
    • 1234
      리눅스 토발즈라는분은 천재인가요?
    • eremuse
      리눅스 토발즈의 첫 커밋을 보게 될 줄이야 깜작 놀랐네요 ㅎ
      분산버전방식이라는 혁신의 발자취를 찾아떠나는 여행기 같은 느낌도 드네요 ㅎㅎ
      이고잉님의 수업은 역시 중독성이 있네요 ㅎ
    • gura31@nate.com
      재밌게봤습니다