Git 소개 : 정의 및 사용 방법

Git은 오픈 소스 분산 버전 제어 시스템 입니다. 이제 Git을 정의하는 많은 단어입니다.

그것을 분해하고 문구를 설명하겠습니다.

  • 제어 시스템 : 이것은 기본적으로 Git이 콘텐츠 추적기임을 의미합니다. 따라서 Git은 콘텐츠를 저장하는 데 사용할 수 있습니다. 제공하는 다른 기능으로 인해 주로 코드를 저장하는 데 사용됩니다.
  • 버전 관리 시스템 : Git에 저장된 코드는 코드가 추가 될수록 계속 변경됩니다. 또한 많은 개발자가 코드를 병렬로 추가 할 수 있습니다. 따라서 버전 관리 시스템은 변경 사항에 대한 기록을 유지하여이를 처리하는 데 도움이됩니다. 또한 Git은 분기 및 병합과 같은 기능을 제공하며 나중에 다룰 것입니다.
  • 분산 버전 관리 시스템 : Git은 서버에 저장되는 원격 저장소와 각 개발자의 컴퓨터에 저장되는 로컬 저장소가 있습니다. 이는 코드가 중앙 서버에만 저장되는 것이 아니라 코드의 전체 사본이 모든 개발자의 컴퓨터에 있음을 의미합니다. Git은 모든 개발자의 컴퓨터에 코드가 있기 때문에 분산 버전 제어 시스템입니다. 이 기사의 뒷부분에서 원격 및 로컬 저장소의 개념을 설명하겠습니다.

Git과 같은 버전 관리 시스템이 필요한 이유

실제 프로젝트에는 일반적으로 여러 개발자가 병렬로 작업합니다. 따라서 개발자간에 코드 충돌이 없는지 확인하려면 Git과 같은 버전 제어 시스템이 필요합니다.

또한 이러한 프로젝트의 요구 사항은 자주 변경됩니다. 따라서 버전 제어 시스템을 통해 개발자는 코드의 이전 버전으로 되돌릴 수 있습니다.

마지막으로, 병렬로 실행되는 여러 프로젝트가 동일한 코드베이스를 포함하는 경우가 있습니다. 이 경우 Git의 분기 개념이 매우 중요합니다.

지금 Git 사용을 시작하겠습니다.

모든 개념을 한꺼번에 언급하는 대신 예제를 통해 Git의 개념을 이해하기 쉽도록 설명하겠습니다.

git 다운로드

이 링크에는 여러 운영 체제에 Git을 설치하는 방법에 대한 세부 정보가 있습니다.

//git-scm.com/book/en/v2/Getting-Started-Installing-Git

명령 프롬프트에서 다음 명령을 사용하여 Git이 설치되어 있는지 확인합니다.

git --version

로컬 Git 저장소 만들기

컴퓨터에서 프로젝트를위한 폴더를 만듭니다. 프로젝트 폴더를이라고합시다 simple-git-demo.

프로젝트 폴더로 이동하고 다음 명령을 사용하여 프로젝트에 로컬 Git 저장소를 추가합니다.

cd simple-git-demo git init

git init명령은 프로젝트에 로컬 Git 저장소를 추가합니다.

이제 작은 코드를 추가해 보겠습니다.

demo.txt프로젝트 폴더에 라는 파일을 만들고 여기에 다음 텍스트를 추가합니다.

Initial Content

여기서는 실제 코드 대신 일반 텍스트로 데모를 진행할 것입니다.이 기사의 주요 초점은 특정 프로그래밍 언어가 아닌 Git에 있기 때문입니다.

코드 준비 및 커밋

커밋은 코드가 로컬 저장소에 추가되는 프로세스입니다 . 코드를 커밋하기 전에 스테이징 영역 에 있어야 합니다 . 스테이징 영역은 커밋 될 모든 파일을 추적하기위한 것입니다.

준비 영역에 추가되지 않은 파일은 커밋되지 않습니다. 이를 통해 개발자는 커밋해야하는 파일을 제어 할 수 있습니다.

각색

파일 스테이징을 위해 다음 명령을 사용하십시오.

git add demo.txt

여러 파일을 추가하려는 경우 다음을 사용할 수 있습니다.

git add file1 file2 file3

프로젝트 폴더 내의 모든 파일을 스테이징 영역에 추가하려면 다음 명령을 사용하십시오.

git add .

프로젝트의 모든 파일과 폴더를 스테이징 영역에 추가하므로 신중하게 사용하십시오.

커밋

다음 명령을 사용하여 파일을 커밋합니다.

git commit -m "Initial Commit"

"Initial Commit"은 여기서 커밋 메시지입니다. 특정 커밋에서 수행 된 코드 변경을 나타내는 관련 커밋 메시지를 입력합니다.

Git 상태 및 Git 로그

이제 수정 demo.txt파일을 열고 다음 스 니펫을 추가하십시오.

Initial Content Adding more Content

상태

git status수정 된 파일과 스테이징 영역에있는 파일에 대한 정보를 찾는 데 사용 합니다. 지금은 무시할 수있는 다른 정보도 표시됩니다.

다음 명령을 사용하여 상태를 확인하십시오.

git status

상태 demo.txt는 수정되었으며 아직 준비 영역에 있지 않음을 표시합니다.

이제 demo.txt준비 영역에 추가 하고 다음 명령을 사용하여 커밋하겠습니다.

git add demo.txt git commit -m "demo.txt file is modified"

로그

git log지금까지 수행 된 모든 커밋을 인쇄하는 데 사용 합니다.

이를 위해 사용되는 명령은 다음과 같습니다.

git log

로그에는 각 커밋의 작성자, 커밋 날짜 및 커밋 메시지가 표시됩니다.

지점

지금까지 Git에 브랜치를 생성하지 않았습니다. 기본적으로 Git 커밋은 마스터 브랜치 로 이동합니다 .

브랜치 란?

브랜치는 Git 저장소의 최신 커밋에 대한 포인터 일뿐입니다. 따라서 현재 마스터 브랜치는 두 번째 커밋에 대한 포인터 “demo.txt file is modified”입니다.

여러 지점이 필요한 이유는 무엇입니까?

여러 병렬 개발을 지원하려면 여러 분기가 필요합니다. 분기 작동 방식을 보려면 아래 이미지를 참조하십시오.

처음에는 커밋 1과 커밋 2가 마스터 브랜치에서 수행되었습니다. 커밋 2 이후 "Test"라는 새 분기가 생성되고 커밋 3과 커밋 4가 테스트 분기에 추가됩니다.

동시에 다른 커밋 3과 커밋 4가 마스터 브랜치에 추가됩니다. 여기에서 Commit 2 이후 두 개의 개별 분기에서 두 개의 병렬 개발이 수행되고 있음을 알 수 있습니다.

테스트 브랜치와 마스터 브랜치는 여기에서 갈라져서 다른 코드를 가지고 있습니다. 테스트 브랜치의 코드는를 사용하여 마스터 브랜치와 병합 할 수 있습니다 git merge. 이것은 나중에 다룰 것입니다.

로컬에서 새 분기 만들기

다음 명령을 사용하여 test 라는 새 분기를 만듭니다 .

git branch test

이 명령은 test분기를 만듭니다 .

우리는 여전히 마스터 브랜치의 맥락에 있습니다. test 지점 으로 전환하기 위해 . 다음 명령을 사용하십시오.

git checkout test

이제 우리는 test지점에 있습니다.

다음 명령을 사용하여 로컬의 모든 분기를 나열 할 수 있습니다.

git branch

새 지부에서 몇 가지 헌신을하십시오

demo.txt다음 스 니펫을 추가하여 수정 하십시오.

Initial Content Adding more Content Adding some Content from test Branch

이제 다음 명령을 사용하여 준비하고 커밋합니다.

git add demo.txt git commit -m "Test Branch Commit"

이 커밋은 테스트 브랜치에서 수행되었으며 이제 테스트 브랜치가 마스터 브랜치의 커밋 2 개를 포함하기 때문에 1 커밋만큼 마스터 브랜치보다 앞서 있습니다.

다음을 사용하여 Test Branch에서 커밋 기록을 확인할 수 있습니다.

git log

병합

현재 Test Branch는 1 커밋만큼 마스터보다 앞서 있습니다. 이제 테스트 브랜치의 모든 코드를 마스터 브랜치로 다시 가져 오려고한다고 가정 해 보겠습니다. 이것은 git merge매우 유용한 곳 입니다.

테스트 분기의 코드를 마스터 분기로 병합하려면 다음 단계를 따르십시오.

먼저 마스터 브랜치로 돌아갑니다.

git checkout master

그런 다음 다음 merge명령을 실행하십시오 .

git merge test

이 두 명령을 실행하면 병합이 성공해야합니다. 이 예에서는 충돌이 없습니다.

그러나 실제 프로젝트에서는 병합이 수행 될 때 충돌이 발생합니다. 갈등을 해결하는 것은 경험과 함께 제공되는 것이므로 Git으로 더 많이 작업할수록 갈등을 해결하는 요령을 얻을 수 있습니다.

운영 git log이제 마스터에도 3 개의 커밋이 있음을 알 수 있습니다.

원격 Git 저장소

지금까지 우리는 로컬 저장소에서만 작업했습니다. 각 개발자는 로컬 저장소에서 작업하지만 결국에는 코드를 원격 저장소로 푸시합니다. 코드가 원격 저장소에 있으면 다른 개발자가 해당 코드를보고 수정할 수 있습니다.

GitHub

여기서는 원격 저장소에 GitHub를 사용합니다.

//github.com/으로 이동하여 계정을 만듭니다.

GitHub 홈페이지에 등록한 후 프로젝트 시작을 클릭 하여 새 Git 저장소를 만듭니다. 저장소에 이름을 지정하고 "저장소 만들기"를 클릭합니다.

이름을 git-blog-demo.

이렇게하면 GitHub에 원격 저장소가 생성되고 저장소를 열면 아래 이미지와 같은 페이지가 열립니다.

저장소 URL은 강조 표시된 부분입니다. //github.com/aditya-sridhar/git-blog-demo.git

로컬 저장소를 원격 저장소로 지정하려면 다음 명령을 사용하십시오.

git remote add origin [repository url]

힘내 푸시

로컬 저장소의 모든 코드를 원격 저장소로 푸시하려면 다음 명령을 사용하십시오.

git push -u origin master

이렇게하면 로컬 저장소의 마스터 브랜치에서 원격 저장소의 마스터 브랜치로 코드가 푸시됩니다.

추가 명령

힘내 풀

git pull원격 저장소에서 로컬 저장소로 최신 변경 사항을 가져 오는 데 사용됩니다. 원격 저장소 코드는 다양한 개발자가 지속적으로 업데이트하므로 다음 git pull 이 필요합니다.

git pull origin master

힘내 클론

git clone기존 원격 저장소를 컴퓨터에 복제하는 데 사용됩니다. 이를위한 명령은 다음과 같습니다.

git clone [repository url]

축하합니다

이제 Git 사용 방법에 대한 기본 사항을 알았으니 계속해서 더 알아보세요!

곧 Git의 좀 더 고급 개념에 대한 기사를 하나 더 게시 할 것입니다. 계속 지켜봐주세요!

저자 정보

저는 기술을 사랑하고 기술의 발전을 따릅니다. 나는 또한 기술 분야에 대한 지식으로 다른 사람들을 돕는 것을 좋아합니다.

LinkdIn 계정 //www.linkedin.com/in/aditya1811/에서 저와 자유롭게 연결하십시오.

트위터 //twitter.com/adityasridhar18에서 나를 팔로우 할 수도 있습니다.

내 웹 사이트 : //adityasridhar.com/

내가 작성한 다른 게시물

Git을 효율적으로 사용하는 방법