내용으로 건너뛰기
Why Do Developers Love GitHub?

Why Do Developers Love GitHub?

GitHub란 무엇이며 200개국 4천만 명의 사용자에게 가장 가치 있는 오픈 소스 플랫폼이 되는 이유는 무엇입니까? 최신 블로그 게시물에서 답을 알아보세요.

12min read

때는 2008년, 장소는 캘리포니아주 샌프란시스코이고, 사람들은 크리스 완스트라스(Chris Wanstrath), 톰 프레스턴-워너(Tom Preston-Werner), PJ 하이엣(PJ Hyett)인데, 그 중 한 명은 대학 중퇴자임이 확실하다. 날씨가 맑을 수도 있고 그렇지 않을 수도 있지만, 100% 확신할 수는 없는데, 왜냐하면 지금 이 글의 목적을 위해 세 사람 모두 낡은 지하실의 즉흥적인 책상 뒤에 앉아 있고, 옛날 방식으로 소프트웨어 혁신으로 성장하는 낡은 기술 아이디어에 대한 모든 옛날 이야기처럼. 2021년 기준 숫자는 4,000만 명 이상, 1억 2,500만 명 이상, 1. 4,000만 개는 사용자, 1억 2,500만 개는 코드 리포지토리, 1개는 전 세계 개발 커뮤니티에서 제공하는 가장 크고 강력하며 가장 가치 있는 오픈 소스 플랫폼인 GitHub입니다.

위에서 언급한 세 명의 기술 기업가가 13년 전에 만들고 공동 설립한 이 소프트웨어 개발 도구는 많은 것을 재정의합니다. 기술 담당자가 지식을 공유하고 전달하는 방법부터 코드를 구축하는 방법, 사람들이 클라우드를 보기 시작한 방법에 이르기까지.

2018년 GitHub 블로그 게시물에서 Microsoft의 GitHub 인수를 발표하고 GitHub의 밝은 미래에 대해 이야기하면서 Wanstrath는 다음과 같이 지적합니다.

"10년 전 깃허브(GitHub)가 처음 출범했을 때만 해도 이런 헤드라인을 상상도 못 했습니다. Git은 강력하지만 틈새 도구였고, 구름은 하늘에 떠 있는 것뿐이었고, Microsoft는 매우 다른 회사였습니다. 오픈 소스와 비즈니스, 당시 사람들은 기름과 물뿐만 아니라 혼합되어 있다고 말했습니다." 

What Exactly is GitHub? 

지난 10년 동안 GitHub는 소스 코드, 코드 공유, 네트워킹, 퍼블리싱 서비스 및 코드 토크를 위한 클라우드 스토리지를 제공하는 소프트웨어 개발을 위한 세계 최대의 오픈 소스 플랫폼으로 변모했습니다. 1억 2,500만 개 이상의 코드 저장소를 자랑하며 200개국에서 온 수백만 명의 디지털 신규 사용자와 기술에 정통한 두뇌가 사용하고 있습니다. 오픈 소스 플랫폼으로서 이는 다음을 의미합니다.

  • 무료로 사용할 수 있습니다 (GitHub가 회사로서 수익을 창출하는 방법은 호스팅된 개인 저장소, 팀 및 기업에 프리미엄 구독 요금제를 제공하고 사용자가 플랫폼에서 타사 앱을 구입할 때 수수료를 추가하는 것입니다).
  • 그것은 계속 성장하는 사용자 및 기여자 커뮤니티에 의해 추진됩니다.

플랫폼이 어떻게 작동하는지 더 잘 이해하기 위해 플랫폼을 조각으로 분해해 보겠습니다. 먼저 Git 부분을 살펴 보겠습니다. 본질적으로 Git은 Linux의 창시자인 Linus Torvalds가 시작한 Subversion 및 CVS와 유사한 오픈 소스 버전 제어 시스템을 나타냅니다. 이 명령줄 도구의 기본 아이디어는 코드 개정을 제어하고 코드 및 코드 수정 사항을 하나의 중앙 저장소에 저장할 수 있도록 하는 것입니다. 그리고 이것은 허브 파트가 개입하는 곳으로, 프로젝트가 저장되고 엔지니어가 네트워크를 형성하거나 함께 작업하는 실제 장소입니다. 이 두 가지는 개발자가 새 앱 버전을 출시할 때마다 모든 수정 사항을 정확하게 유지하기 위해 협력합니다. 그 결과, 다음과 같은 결과가 발생합니다.

  • 개발 프로세스를 간소화하고 일관성을 유지하는 동시에 활동을 훨씬 쉽게 추적할 수 있습니다.
  • 더 쉬운 협업을 가능하게 합니다.
  • 개발 팀 또는 외부 당사자의 모든 사람이 이러한 변경 내용을 보고, 다운로드하고, 코드에 기여할 수 있습니다.
  • 최신 개정의 업로드 및 모니터링을 단순화합니다.

GitHub의 트레이너인 Matthew McCullough는 GitHub의 실제 작동 방식과 관련하여 개발자가 특정 프로젝트에 변경 사항을 적용하려고 할 때 전체 리포지토리를 자신이 사용하는 시스템에 복사할 수 있다고 설명합니다. 그들은 로컬 복사본에서 변경 사항을 만들고 그 후에 한 줄의 코드를 변경하기 위해 서버에 지속적으로 연결할 필요 없이 중앙 서버로 "전송"할 수 있습니다.

그러나 GitHub의 기본 작업 메커니즘은 다음과 같은 5가지 기본 사항에 의존합니다.

  • 저장소 – 특정 프로젝트의 모든 파일이 GitHub에 저장되는 위치를 저장소(또는 줄여서 "repo")라고 합니다. 각 프로젝트마다 별도의 저장소가 있으며, 고유한 URL을 통해 액세스할 수 있습니다.
  • 분기 – 이것은 아마도 GitHub의 가장 좋은 기능이자 사람들이 계속 사용하는 이유일 것입니다. 포크는 플랫폼에 이미 존재하는 프로젝트를 기반으로 새 프로젝트를 만드는 경우입니다. 즉, 기여하고 싶은 다른 사람의 프로젝트를 가져와서 리포지토리를 복사하고 원하는 대로 변경한 다음 새 버전을 릴리스합니다.
  • 끌어오기 요청– 끌어오기 요청은 프로젝트/리포지토리의 원래 작성자에게 소위 헤드 브랜치에서 수행한 변경 사항에 대해 알리고자 할 때 전송됩니다. 전송되면 소유자는 개정을 볼 수 있으며 프로젝트/리포지토리에 대한 변경 사항을 수락할지 여부를 선택할 수 있습니다.
  • 병합– 끌어오기 요청 후 리포지토리에 대한 변경 내용을 원래 리포지토리에 병합해야 합니다. 활성화된 병합 옵션에 따라 repos를 병합하는 세 가지 방법이 있습니다. 다음을 수행 할 수 있습니다 : 모든 커밋을 기본 분기에 병합하십시오. 커밋을 하나의 커밋으로 스쿼시합니다. 커밋을 기본 분기에 개별적으로 다시 지정합니다. 이에 대한 자세한 내용은 GitHub 공식 문서에서 확인할 수 있습니다.
  • 변경 내역– GitHub의 특성은 많은 사람들이 동일한 프로젝트에서 작업하고 기여하고 변경할 수 있도록 하는 것입니다. 관련된 모든 사람이 저장소에서 발생하는 모든 일에 대해 동일한 페이지를 유지할 수 있도록 플랫폼은 변경 로그를 활성화하여 모든 변경 사항을 추적합니다.

개발자가 GitHub를 사용하는 이유는 무엇입니까?

확실히, 이 오픈 소스 개발 플랫폼과 관련하여 많은 "와우"가 있습니다. 따라서 개발자가 GitHub를 사용하는 이유를 자세히 살펴보겠습니다.

  • 실시간으로 소프트웨어 협업 및 관리
    많은 초보자와 전문 프로그래머를 끌어들이는 플랫폼의 장점 중 하나는 웹 그래픽 인터페이스입니다. 이를 통해 코드를 쉽게 교환하고, 서로의 프로젝트를 검토하고, 실시간으로 소프트웨어 코드를 관리할 수 있습니다. GitHub에는 협업을 개선하는 많은 기능이 포함되어 있으며, 그 중 일부는 문제 추적, 실시간 분석, 기능 요청, 주석 달기 및 메모, 피드백 관리 등입니다.
  • GIT 프로젝트를 복제하는 기능
    자신의 프로젝트에서 작업하거나 다른 사람의 프로젝트에 기여하는 동안 주 서버와 전혀 상호 작용할 필요가 없습니다. 명령줄 도구를 사용하면 개발자가 git 프로젝트를 복제하고 전체 기록 및 변경 로그에 계속 액세스할 수 있습니다.
  • 강력한 GitHub Actions 및 CI/CD 파이프라인
    개발자가 GitHub를 사용하는 또 다른 이유는 소프트웨어 워크플로를 정말 간단하게 자동화할 수 있는 강력한 Actions 때문입니다. 또한 사용자는 CI/CD를 쉽게 설정할 수 있으므로 변경 사항을 커밋하면 CI/CD가 GitHub 리포지토리에서 신속하게 가져와서 개발자의 자체 배포에 적용합니다. 코드 커버리지, 코드 검토, 문제 분류, 분기 관리를 수행하고 워크플로 실행을 확인하는 더 좋은 방법이 있을까요?
  • 뛰어난 버전 관리
    프로그래머를 GitHub로 끌어들이는 것은 뛰어난 버전 제어입니다. 이를 통해 코드에 대한 변경 사항을 추적하고 누가 변경했는지 쉽게 확인할 수 있으며 동시에 전체 버전 기록을 유지하고 제공할 수 있습니다. 이는 협업 측면뿐만 아니라 증가하는 원격 인력 추세와 관련하여 매우 유용한 것입니다.
  • 백업. 백업. 백업.
    자신의 모든 작업을 잃는 것을 좋아하는 사람은 없습니다. GitHub은 훌륭한 백업을 제공하여 잘 돌보고 있는 것 같습니다. 모든 공개 또는 비공개 코드는 보안이 유지되고 백업되므로 하드 드라이브에 코드를 저장할 필요가 없습니다.

GitHub의 이점은 무엇인가요?

  • Gists 및 Github 페이지 기능
    얼마 전 GitHub은 하나 또는 여러 파일을 작동하는 git 저장소로 쉽게 변환할 수 있는 Gists 기능을 출시했습니다. 반면에 GitHub 페이지를 통해 개발자는 GitHub에 대한 정적 웹 사이트를 호스팅할 수 있습니다. 그리고 너무 간단하여 HTML 페이지를 별도의 저장소에 할당하기만 하면 됩니다.
  • 잘 패딩 처리 된 문서 및 지원을 제공합니다.
    필요할 때마다 다시 볼 수 있도록 잘 작성된 가이드가 있는 것은 소프트웨어 개발 프로세스의 필수 요소입니다. 그리고 GitHub은 최고의 문서 중 하나이므로 문서를 부끄러워해서는 안 됩니다. 사람들은 git 워크플로우, 샘플 및 기타 가이드 같은 콘텐츠에 대한 정보를 검색하여 배울 수 있습니다. 또한 예를 들어 BitBucket과 비교하면 GitHub는 신뢰할 수 있는 온라인 고객 지원을 제공할 뿐만 아니라 적절한 지식 기반과 유용한 비디오 자습서를 제공하기 때문에 충분히 승리합니다.
  • Super-Cool 팟캐스트
    불과 몇 달 전, GitHub은 자체 팟캐스트인 ReadME를 도입했습니다. 모든 사람에게 "헤드폰을 끼고 볼륨을 높이라"고 촉구하는 이 에피소드 시리즈는 다양한 기술 종사자를 초대하여 발표자 역할을 맡아 실현된 오픈 소스 프로젝트에 대해 이야기합니다. 또한 2020년에 시작된 멋진 ReadME Project모든 사람이 오픈 소스 커뮤니티의 이야기와 통찰력에 대해 읽을 수 있는 공간입니다.
  • 자신의 이력서처럼 작동합니다.
    GitHub의 장점으로 바뀔 수 있는 측면 중 하나는 개발자와 그들의 기술에 대한 이력서 역할을 할 수 있다는 사실입니다. 틀에 얽매이지 않는 유형의 이력서이지만 여전히 트릭을 수행할 수 있습니다. 누군가가 승인된 패치에서 얻은 크레딧, 플랫폼에서 수행된 모든 기여, 협업한 프로젝트 및 사람들을 전시하고자 할 때 훌륭하게 작동합니다.
  • 새로운 프로젝트의 성공을 지원합니다.
    오픈 소스 플랫폼인 GitHub는 다양한 크기와 규모의 프로젝트가 게임에 더 쉽게 진입할 수 있도록 합니다. 이렇게 하면 사람들이 아이디어를 낼 수 있을 뿐만 아니라 젊은 프로젝트가 성공하고, 확장하고, 변화할 수 있습니다. 아이작 슐루터(Isaac Schlueter)조차도 "GitHub가 없었다면 지금의 Node.js 없었을 것"이라고 인정합니다.
  • 개발자만을 위한 것이 아닙니다.
    한 가지 확실한 것은 GitHub은 프로그래머에게 훌륭하다는 것입니다! 하지만 코드 작성 및 개발과 다른 다른 목적으로 사용될 수 있다는 사실을 알고 계셨습니까? 매우 사용자 친화적이어서 다른 사람들은 책 쓰기와 같은 프로젝트에 사용하는 반면 다른 사람들은 버전 제어 시스템을 활용하여 워드 문서를 보다 적절하고 쉽게 변경할 수 있습니다.

What Infragistics’ Developers Love in GitHub? 

GitHub에 대해 제가 좋아하는 점은 풍부한 협업 기능, GitHub에서 바로 코드를 빌드, 테스트 및 배포할 수 있는 기능을 제공한다는 사실, 강력한 버전 제어 및 무엇보다도 GitHub Actions입니다! 이를 통해 앱 개발 워크플로를 자동화하고 리포지토리에서 바로 사용자 지정하여 가속화할 수 있습니다. 코드 검토, 분기 관리 및 문제 분류 작업을 원하는 방식으로 만드는 것이 얼마나 쉬운지 놀랍습니다! 하지만 제 동료들이 어떻게 말하는지 봅시다.

"GitHub를 사용하면 git repos로 쉽게 작업할 수 있기 때문에 마음에 듭니다! 나는 특히 단순하면서도 강력한 UI에 감탄했다. 성공적인 빌드의 녹색 진드기를 볼 때 정말 기분이 좋아질 수 있습니다!"흐리스토 아나스타소프

"저는 많은 사람들과 함께 일하고 대규모 프로젝트에 기여하는 것을 좋아하기 때문에 GitHub를 좋아합니다. GitHub는 이러한 프로젝트에서 저와 동료 개발자 간의 협업을 흥미롭고 쉽고 명확하게 만들어 주며 중요한 것에 집중할 수 있도록 합니다. 그리고 마지막으로 중요한 것은 일 단위의 커밋 수를 시각화하여 자신의 코딩 행진을 고수하는 데 도움이 되며, 이는 동기 부여가 충분하지 않은 하루를 보낼 때 도움이 됩니다."페트코 보지노프

"리포지토리, 프로젝트, 풀 리퀘스트, 커밋 등과 같은 모든 것에 쉽게 액세스할 수 있기 때문에 GitHub를 사용하는 것이 좋습니다. 팀 협업을 더 쉽고 유지 관리하기 쉽게 만들며 일일 기여도를 보여주는 것과 같은 그래프와 기능을 갖추고 있으며 변경 사항을 추적하기 위한 좋은 코드 기록을 제공합니다."도브로미르 츠베트코프

"GitHub는 여러 부서의 팀이 협업하고 최고에 기여할 수 있도록 하는 놀라운 도구입니다. 문서를 README로 저장하고, 다양한 버전의 소스 코드를 유지 관리하고, CI를 매우 쉽게 설정하고, 문제 및 프로젝트 보드를 통해 경영진과 진행 상황을 전달할 수 있습니다."알렉스 카메노프

제품을 GitHub에 어떻게 통합하나요?

App Builder의 7월 업데이트를 통해 상당히 중요한 업데이트를 출시했는데, 그 중 하나는 GitHub에 애플리케이션을 업로드하는 것이었습니다. App Builder의 핵심 기능 중 하나는 코드 생성 입니다.

앱 디자인 구현을 빠르게 진행하면 앱 디자인이 준비되고 코드가 검토되면 사용자는 최종 애플리케이션 코드를 얻을 수 있습니다. 그러나 경험을 더욱 훌륭하게 만드는 것은 앱 코드를 App Builder 내부에서 직접 GitHub 리포지토리에 쉽게 업로드할 수 있다는 사실입니다. GitHub는 수천 명의 개발자가 가장 좋아하는 도구이므로 이 App Builder 기능을 통해 사용자는 검토자 할당, 변경 사항 추적, 댓글 달기 등 GitHub가 제공하는 모든 이점을 누릴 수 있습니다. 이 기능을 제공함으로써 제품 팀은 전체 설계-코드 협업 스토리에 한 가지를 더 추가할 뿐만 아니라 App Builder 플랫폼을 엔지니어에게 이미 익숙한 잘 알려진 서비스와 통합합니다.

Github integration gif

GitHub에 업로드 프로세스에 대한 자세한 설명은 공식 문서를 참조하세요.

데모 요청