인프런의 강민철님의 모두의 깃 깃허브 강의를 참조하였습니다.
깃허브란 앞서 설명했듯이 개발자들의 SNS 혹은 원격 저장소 호스팅 서비스이기도 하다.
그럼 이 2가지 관점에서 깃허브를 살펴보자.
그러면 내 깃허브로 먼저 접속해보겠다.
깃허브 홈페이지로 들어가면 내가 팔로우 하고 있는 분들의 활동과 내가 최근에 작업한 활동들을 확인 할 수 있다. 그러면 내 프로필로 접속해보자. 프로필 접속방법은 우측상단에 프로필 이미지를 클릭하고 your profile을 클릭하면 된다. 아래의 사진을 참고해보자.
그러면 아래와 같이 내 깃허브 프로필을 확인 할 수 있다.
여기서 보면 메뉴탭에 repositories라든지 stars라는게 보일 것이다.
그러면 먼저 repositories를 확인해보자.
위의 사진은 내가 업로드한 프로젝트들을 확인 할 수 있다.
그리고 위의 사진은 내가 좋아요를 누른 프로젝트들이라고 볼 수 있다.
그러면 이제 다시 내 프로필로 돌아오면 잔디밭같은 것을 볼 수 있다. 이것은 개발자들의 은어로 잔디밭이며 엄밀히 애기하면 해당 프로필 개발자의 활동내역이라고 볼 수 있고 이것을 꾸준히 채운 분들이 엄청 노력하는 개발자라고 볼 수 있다.
그리고 내 프로필도 수정이 가능하다. 바로 내 우측에 edit profile을 클릭하면 아래의 사진처럼 수정이 가능하고
아래처럼 settings를 클릭하여 수정이 가능하다.
그러면 이제 다른 분들이 올린 레포지토리를 확인도 해보자.
상단에 검색창에 자신이 궁금하거나 찾고싶은 프로젝트 이름을 입력하자. 나는 spring boot를 검색해보았다.
그리고 자신이 찾는 깃허브 레포지토리로 접속하자.
위의 어마무시한 파일들 폴더들이 전부 spring boot 프로젝트를 이루는 소스들이다. 그리고 위의 커밋수를 한번 클릭해보자.
그러면 위와 같이 커밋한 커밋 해시와 메세지들이 나오게 될 것이다.
이 중에 커밋 하나를 클릭해보자. 그러면 아래와 같이 어떤 파일 어느 부분이 수정되고 생성되고 삭제되었는지 확인이 가능하다. 마치 소스트리처럼 말이다.
다음 상단의 이슈탭을 클릭해보자. 그러면 어마무시한 이슈들이 나올 것이다.
이 중 하나를 클릭해보면 이 프로젝트를 개발하고 업로드한 개발자와 소통도 할 수 있고 버그들의 조언도 얻을 수 있다. 또한 이슈는 텍스트뿐만 아니라 영상이나 사진도 첨부가 가능하다.
💡 용어 정리
이슈: 이 프로젝트와 관련된 문의사항이나 문제점 버그등을 제보하는 곳, 때로는 "앞으로 개발해야 할 것"을 명시하기도 한다.
그러면 해당 프로젝트를 좋아요(stars)를 눌러보자. 그러면 내 starts에 추가될 것이다.
💡 참고
Github에 유지보수되고 있는 프로젝트들의 유용성을 star의 개수로 판단하기도 한다.
그래서 많은 star를 받은 프로젝트는 개발자의 큰 경쟁력이 되기도 한다.
원격저장소란 컴퓨터 속에만 있는 저장소(로컬 저장소)가 아닌 인터넷 세상 어딘가(원격)에 있는 다른 컴퓨터 속 저장소를 의미한다. 위에서 살펴본 spring boot도 깃허브가 관리하는 컴퓨터에 저장되어 있는 인터넷 상 어딘가의 spring boot이름의 프로젝트인것이다.
그러면 원격저장소를 사용하는 이유는 무엇일까? 바로 '백업'과 '협업'이다.
예를들어 내 PC가 망가져서 내가 만든 프로젝트들이 다 날라가면 엄청 허무할텐데 깃허브가 있으면 이를 해결이 가능하다.
어느 프로젝트를 개발할때 내 로컬 저장소에 다 넣어두는 것이 아닌 원격저장소에 공통모듈들을 두고 개발을 하면 협업이 편리하고 이런 기능을 깃허브가 해준다.
그러면 이제 실습을 진행해보자. 다시 내 프로필 repositories로 들어와 좌측상단에 new를 누른다.
그리고 아래와 같이 작성한다.
여기서 용어 정리를 좀 해보면 repository name은 이름 그대로 원격저장소 이름(프로젝트 이름)이고 description은 이 프로젝트에 대한 설명으로 옵션이므로 작성을 안해도 괜찮다. 그 다음 public, private을 설정하는 체크박스가 있는데 public으로 하면 전 세계 모든 개발자가 다 볼 수 있고 private으로 하면 나만 볼 수 있다. 다음으로 README라는 용어가 나온다.
💡 용어정리
README: 프로젝트 설명서
즉 add readme는 자동으로 readme를 만들어주는 것인데 일단 우린 생략하고 create repository를 눌러보면 아래와 같이 빈 repository가 나오게 된다.