Git 및 GitHub

정연희·2021년 9월 11일
0

Git와 Github

목록 보기
1/3
post-thumbnail

목차

  • Git(git)와 GitHub란?
  • Git vs GitHub

Git(git)와 GitHub란?

Git는 소스 코드의 변화를 로컬 시스템(인터넷이 필요한 클라우드가 아닌) 저장하여 그 기록을 볼 수 있도록 하는, 소스코드 관리 오픈소스 소프트웨어입니다. 한 코드에 대한 여러 버전을 저장함으로써 다른 프로그래머가 코드의 변화를 확인할 수 있으며 프로그래머간 협업과 소통을 더욱 원활하게 만듭니다. 이러한 기능 때문에 다른 프로그래머와 함께 협업하는 거의 모든 프로젝트에서 git을 사용합니다. GitHub는 이런 git를 사용하는 웹 서비스로 git처럼 소스 코드 변화를 저장할 수 있도록 합니다. git와 동일하게 분산 버전 제어 기능을 제공하지만 GitHub는 엄연히 git와 다릅니다. 그 이유는 둘의 여러 차이점들에 있는데, 그 차이점들은 다음과 같습니다.

Git vs GitHub

  • GitHub는 로컬 시스템이 아닌 클라우드(온라인 저장소)에 저장!
    git는 로컬 시스템에 저장하기 때문에 이를 다른 프로그래머들과 함께 사용하려면 한 데이터베이스를 공유해야 한다. 즉, 컴퓨터들이 같은 서버에 연결되어야 한다는 것이다. 하지만, GitHub는 코드에 대한 여러 repository(저장소)를 클라우드에 저장하기에 자신이 로컬에 저장한 소스코드를 온라인 상에서 업로드하고 공유할 수 있습니다. 소스 코드를 쉽게 공유할 수 있기 때문에 프로그래머들과 더욱 원활하게 협업 및 커뮤니케이션할 수 있으며, GitHub에 공유된 다른 코드 및 자료들을 보며 공부할 수도 있습니다.

  • git는 command-line interface(CLI), GitHub는 웹 기반 그래픽 인터페이스를 사용
    git는 터미널을 통해 명령어를 입력해야 하지만 GitHub는 GUI(graphic-user interface)를 사용하기에 사용자들에게 조금 더 편리함을 제공헤준다는 특징을 가지고 있습니다.

    이때, git도 GUI를 사용할 수 있지만 GUI 프로그램의 대부분은 git 기능 일부만 구현하기에 git의 모든 기능을 사용하기 위해서는 CLI 사용해야 한다.

  • GitHub는 추가적인 기능을 제공(forking, pull request, merge and etc.)
    git는 소프트웨어 개발 및 소스 코드 관리 기능만 제공하지만 GitHub는 더욱 원환한 협업을 할 수 있도록 forking, pull request, merge 등과 같은 추가 기능을 제공하고 있으며, 버그 추척, 엑세스 제어도 제공합니다.

    The flagship functionality of GitHub is “forking” – copying a repository from one user’s account to another. This enables you to take a project that you don’t have write access to and modify it under your own account. If you make changes you’d like to share, you can send a notification called a “pull request” to the original owner. That user can then, with a click of a button, merge the changes found in your repo with the original repo.
    https://techcrunch.com/2012/07/14/what-exactly-is-github-anyway/?guccounter=1&guce_referrer=aHR0cHM6Ly93d3cuZ29vZ2xlLmNhLw&guce_referrer_sig=AQAAAMCZW23pkQLbmYELJ9-Yid_nTxwRh7btGueQ5SQkJHh4ceuWVjWlIRp-wKz5oSMSJ6dbMrxDb2zMxoUDnf_eK9RzzUUF3SUidBZryjn4p8r0-0j6zKOQ3AIvqqm3g50IlEw1JGGrugP_jRXBtDge3w9cLmLZIBHAWpsHLqkQM12h

참고문헌

0개의 댓글