Git과 GitHub의 기초 이해하기


201

Git 또는 Github의 사용 목적을 완전히 이해하지 못합니다. 변경 사항을 추적하는 데 도움이되고 다른 사람들과 공동 작업하는 사람들에게는 도움이되지만 다른 사람과 공동 작업을하지 않아 이것이 도움이 될지 모르겠습니다.

나는 보통 웹 디자이너 / 개발자로 일하지만 협력 할 필요는 없습니다. Git에서 모든 저장소에 대해 브랜치를 생성, 푸시, 커밋, 생성하는 등을 알고 있지만 ...

  1. Git과 GitHub의 차이점은 무엇입니까?

  2. git은 모든 저장소를 로컬 (사용자 컴퓨터) 및 GitHub에 저장합니까?

  3. GitHub없이 Git을 사용할 수 있습니까? 그렇다면 GitHub를 사용하면 어떤 이점이 있습니까?

  4. Git은 Time Machine과 같은 백업 시스템과 어떻게 비교됩니까?

  5. 이것은 수동 프로세스입니까, 다시 말하면 커밋하지 않으면 새로운 버전의 변경 사항이 없습니까?

  6. 협업하지 않고 이미 백업 시스템을 사용중인 경우 왜 Git을 사용합니까?


아마 그것은 누군가가 차이점을 이해하는 데 도움이 될 것입니다 : pedrorijo.com/blog/git-init
pedrorijo91

답변:


254
  1. Git과 GitHub의 차이점은 무엇입니까?

    힘내 버전 관리 시스템입니다; 이를 일련의 스냅 샷 으로 생각하십시오코드 (커밋)으로 생각하십시오. 이러한 스냅 샷의 경로가 생성 된 순서대로 표시됩니다. 브랜치를 실험하고 촬영 한 스냅 샷으로 되돌릴 수 있습니다.

    GitHub는 Git 리포지토리를 게시하고 다른 사람들과 공동 작업 할 수있는 웹 페이지입니다.

  2. Git은 모든 리포지토리를 로컬 (사용자 컴퓨터) 및 GitHub에 저장합니까?

    아니요, 지역에만 있습니다. GitHub에서 일부 브랜치를 푸시 (게시)하기로 결정할 수 있습니다.

  3. GitHub없이 Git을 사용할 수 있습니까? 그렇다면 GitHub를 사용하면 어떤 이점이 있습니까?

    예, GitHub를 사용하지 않으면 Git이 로컬에서 실행됩니다. GitHub를 사용하는 대안은 Dropbox에서 호스팅되는 파일에서 Git을 실행할 수 있지만 GitHub는 Git을 위해 특별히 제작 된보다 효율적인 서비스입니다.

  4. Git은 Time Machine과 같은 백업 시스템과 어떻게 비교됩니까?

    Git을 사용하면 변경 사항과 개발 프로세스를 추적 할 수 있습니다. Git을 GitHub와 함께 사용하면 효과적으로 백업됩니다. 그러나 일반적으로 항상 GitHub로 푸시하지는 않습니다.이 시점에서 문제가 발생하면 전체 백업이 이루어지지 않습니다. Dropbox와 동기화 된 폴더에서 git을 사용합니다.

  5. 이것은 수동 프로세스입니까, 다시 말하면 커밋하지 않으면 새로운 버전의 변경 사항이 적용되지 않습니까?

    예, 커밋과 푸시는 모두 수동입니다.

  6. 협업하지 않고 이미 백업 시스템을 사용중인 경우 왜 Git을 사용합니까?

    • 커밋간에 오류가 발생하면 명령 git diff을 사용 하여 현재 코드와 마지막 작업 커밋의 차이점을 확인하여 오류를 찾을 수 있습니다.

    • 마지막 작업 커밋으로 돌아갈 수도 있습니다.

    • 변경을 시도하고 싶지만 변경이 확실하지 않은 경우. 코드 변경을 테스트 할 분기를 만듭니다. 제대로 작동하면 기본 지점에 병합합니다. 그렇지 않으면 지점을 버리고 주 지점으로 돌아갑니다.

    • 디버깅했습니다. 커밋하기 전에 항상 마지막 커밋의 변경 사항을 확인하십시오. 삭제하지 않은 디버그 인쇄 문이 표시됩니다.

gitimmersion.com을 확인하십시오 .


5
마지막 단락의 섹션 1은 실제로 좋은 지적입니다. git intersect이 목적으로 도 체크 아웃 하십시오.

2
@ H2CO3 무슨 뜻 git bisect인가요?
Simon Whitaker

1
@SimonWhitaker 네, 오타입니다.

47
  1. Git과 GitHub의 차이점은 무엇입니까?

    Linus Torvalds는 이것을 위해 당신을 죽일 것입니다. Git은 그가 작성한 버전 관리자 프로그램의 이름입니다. GitHub는 Git이 관리 할 수있는 소스 코드 리포지토리가있는 웹 사이트입니다. 따라서 GitHub는 원래 Git 도구와 완전히 관련이 없습니다.

  2. git은 모든 저장소를 로컬 (사용자 컴퓨터) 및 GitHub에 저장합니까?

    변경 사항을 커밋하면 로컬에 저장됩니다. 그런 다음 커밋을 푸시하면 원격으로 커밋됩니다.

  3. GitHub없이 Git을 사용할 수 있습니까? 그렇다면 GitHub를 사용하면 어떤 이점이 있습니까?

    당신은 할 수 있지만 수동으로 git 서버를 직접 설정하고 싶지는 않습니다. GitHub의 장점은 무엇입니까? 글쎄, 사용하기 쉽고 많은 사람들이 그것을 알고 있으므로 다른 사람들이 귀하의 코드를 찾아서 개선 할 수 있습니다.

  4. Git은 Time Machine과 같은 백업 시스템과 어떻게 비교됩니까?

    Git은 소스 코드를 위해 특별히 설계되고 최적화되었습니다.

  5. 이것은 수동 프로세스입니까, 다시 말하면 커밋하지 않으면 새로운 버전의 변경 사항이 없습니까?

    바로 그거죠.

  6. 협업하지 않고 이미 백업 시스템을 사용중인 경우 왜 Git을 사용합니까?

    # 4를 참조하십시오.


5
사실, git을 완전히 로컬로 사용할 수 있습니다. github을 사용하는 유일한 이유는 소스 코드를 게시하는 것입니다. 예를 들어 협업. 그렇게하지 않으려면 git 서버가 필요하지 않습니다.
Davoud Taghawi-Nejad

@ DavoudTaghawi-Nejad 예. OP가 'Github이없는'을 'GitHub가 아닌'이라고 언급하고 있다고 확신합니다. 또한 # 2부터는 git을 로컬에서만 사용할 수 있다는 것이 분명합니다.

4
@ DavoudTaghawi-Nejad 공동 작업이 아닌 github을 백업으로 사용합니다. 화재 / 기타 코드가있는 경우 안전합니다.
Thufir

github follow and fork 기능은 무엇입니까?
Mou

29
  1. Git과 GitHub의 차이점은 무엇입니까?

    Git은 분산 버전 관리 시스템입니다. 일반적으로 로컬 컴퓨터의 명령 줄에서 실행됩니다. 파일을 추적하고 "리포지토리"(또는 "리포지토리")로 파일을 수정 한 경우에만 파일을 추적합니다. 즉, 추적 할 파일과 수정 사항의 "스냅 샷"을 찍을시기를 결정합니다.

    반대로 GitHub는 Git 리포지토리를 온라인으로 게시 할 수있는 웹 사이트로, 여러 가지 이유로 유용 할 수 있습니다 (# 3 참조).

  2. Git은 모든 리포지토리를 로컬 (사용자 컴퓨터) 및 GitHub에 저장합니까?

    Git은 로컬에서 실행하고 인터넷과의 연결을 끊은 다음 원할 때마다 변경 내용을 원격 시스템 (예 : GitHub)에 "푸시"할 수 있기 때문에 "중앙"이 아닌 "분산"버전 제어 시스템 으로 알려져 있습니다. 따라서 리포지토리 변경 은 Git에게 수동으로 변경 사항을 푸시하도록 지시 할 때 GitHub에만 나타납니다 .

  3. GitHub없이 Git을 사용할 수 있습니까? 그렇다면 GitHub를 사용하면 어떤 이점이 있습니까?

    예, GitHub없이 Git을 사용할 수 있습니다. Git은 실제로 변경 사항을 추적하는 "작업장"프로그램 인 반면, GitHub는 단순히 리포지토리를 호스팅하고 Git에서는 사용할 수없는 추가 기능을 제공합니다. GitHub를 사용하면 다음과 같은 이점이 있습니다.

    • 파일 백업을 제공합니다.
    • repos를 탐색하기위한 시각적 인터페이스를 제공합니다.
    • 그것은 다른 사람들에게 당신의 저장소를 탐색하는 방법을 제공합니다.
    • 리포 협업이 쉬워집니다 (예 : 여러 사람이 동일한 프로젝트에 참여).
    • 가벼운 문제 추적 시스템을 제공합니다.
  4. Git은 Time Machine과 같은 백업 시스템과 어떻게 비교됩니까?

    Git은 파일 백업을 수행하지만 백업 대상 및 백업 시점에 대해 기존 백업 시스템보다 훨씬 세밀한 제어 기능을 제공합니다 . 특히, 변경 사항의 스냅 샷을 만들 때마다 "커밋"하고 커밋에는 변경 사항에 대한 설명과 해당 변경 사항에 대한 세부 정보가 모두 포함됩니다. 주어진 파일의 변경 기록을 한 줄씩 쉽게 볼 수 있기 때문에 소스 코드에 적합합니다.

  5. 이것은 수동 프로세스입니까, 다시 말하면 커밋하지 않으면 새로운 버전의 변경 사항이 적용되지 않습니까?

    예, 이것은 수동 프로세스입니다.

  6. 협업하지 않고 이미 백업 시스템을 사용중인 경우 왜 Git을 사용합니까?

    • 힘내 강력한 분기 시스템을 사용합니다 독립적 인 개발 을 사용하여 여러 독립적 인 개발 라인을 동시에 작업 한 다음 필요에 따라 해당 지점을 병합 할 수 있습니다.
    • Git을 사용하면 파일의 여러 버전 간 차이를 볼 수 있으므로 문제 해결이 더 쉽습니다.
    • Git은 각 커밋을 설명하도록하여 주어진 파일의 특정 이전 버전을 훨씬 쉽게 추적하고 잠재적으로 이전 버전으로 되돌릴 수 있습니다.
    • 코드에 대한 도움이 필요한 경우 Git에서 코드를 추적하고 GitHub에서 호스팅하면 다른 사람이 코드를 훨씬 쉽게 볼 수 있습니다.

Git을 시작하려면 온라인 서적 Pro GitGitRef 를 편리한 참조 안내서로 추천합니다. GitHub를 시작하기 위해 GitHub의 BootcampGitHub Guides를 좋아합니다 . 마지막으로 초보자에게 Git 및 GitHub를 소개 하는 짧은 비디오 시리즈 를 만들었습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.