Git을 사용한 버전 제어 소개

버전 관리란 무엇입니까?



git-scm.com에 대한 Git의 문서에 따르면 "버전 제어는 나중에 특정 버전을 불러올 수 있도록 시간이 지남에 따라 파일 또는 파일 집합에 대한 변경 사항을 기록하는 시스템입니다."

비디오 게임을 생각해 보십시오. Witcher 3를 플레이하고 있지만 Werewraith와 결혼하는 것이 Gerald가 해야 할 일이라는 확신이 없는 경우와 같습니다. 체크포인트를 저장하고 Werewraith와 결혼한 다음 Werewraith가 레벨 10 Esterad Thyssen Gwent 카드를 가지고 있다고 거짓말을 하고 있다는 사실을 알게 되면 저장된 체크포인트로 되돌아갑니다.

같은 방식으로 Git을 사용하면 진행 상황을 저장한 다음 엄마가 항상 파멸로 이어질 것이라고 말한 가장 미친 코드 아이디어를 시도할 수 있습니다. 그리고 그들이 실제로 당신의 파멸로 이어진다면, 당신은 다른 저장된 가지로 돌아가서 아무 일도 없었던 것처럼 가장할 수 있습니다.



Git에 작업 저장



Git에서 작업을 저장하는 과정을 커밋이라고 합니다.
커밋할 준비가 되면 먼저 수행한 작업이 작업 중인 폴더 내에 저장되었는지 확인해야 합니다. 드롭다운 파일 메뉴를 사용하거나 Windows에서 Ctrl + S 또는 Mac에서 Cmd + S를 눌러 저장할 수 있습니다.

이제 파일을 "준비 영역"으로 이동해야 합니다. 이렇게 하려면 먼저 터미널에 git add <filename>를 입력합니다. 이 스테이징 영역은 매우 유용할 수 있지만 여기서는 매우 기본적인 소개에서 다루지 않을 것입니다.

다음 단계는 실제로 변경 사항을 커밋하는 것입니다. 터미널에 git commit -m "<your message here>"를 입력합니다. 따옴표 안에 넣은 메시지는 커밋된 버전이 실제로 무엇인지 알 수 있도록 설명적이어야 합니다.

$ git add index.js
// adds "index.js" file to the staging area.

$ git add .
// adds all files in current directory to the staging area.

$ git commit -m "added canVote key to user object"
// saves current changes as commit with the description "added canVote key to user object"

$ git commit -am "changed hea
// added all files to staging area and committed work in one fell swoop


그리고 당신은 간다! git 저장소에 작업 버전이 저장되어 있습니다.

가지



변경 사항을 완전히 적용하지 않고 일부 코드를 시험해 볼 수 있는 좋은 방법은 분기를 이용하는 것입니다. 브랜치 작업은 매우 복잡할 수 있지만 여기서는 소개만 제공합니다.



분기를 사용하는 이유는 무엇입니까?



브랜치는 일부 코드를 테스트하기 위해 작업할 수 있는 새로운 경로를 생성합니다. 어쩌면 당신은 당신이 당신의 주요 역사에서 원하는지 확실하지 않은 일부 거친 것들을 시도하고 있거나 아마도 당신은 그룹과 함께 일하고 있지만 그룹의 작업을 아직 변경하고 싶지는 않을 것입니다. 메인 브랜치의 히스토리에 영향을 미치지 않는 새 브랜치에서 약간의 변경을 할 수 있습니다. 당신이 그것을 원하지 않는 한. 분기를 기본 프로젝트로 유지하기로 결정한 경우 기본 분기로 다시 병합할 수 있습니다.

지점 만들기



브랜치를 만드는 방법에는 몇 가지가 있습니다. 첫 번째는 단순히 git branch <new branch name> 를 입력하는 것입니다. 그러나 분기를 생성하고 즉시 해당 분기에서 작업을 시작하려면 git checkout -b <new branch name>를 입력하면 됩니다.

$ git branch newBranchName
// creates a new branch named "newBranchName". You continue to work in branch you were already in

$ git checkout -b newBranchName
// creates a new branch, "newBranchName". You are now working in newBranchName


브랜치 병합



변경 사항에 만족하고 이를 프로젝트 공식의 일부로 만들 준비가 되었다고 가정해 보겠습니다. 먼저 브랜치로 다시 들어가야 합니다. 편집한 브랜치를 병합하고 싶습니다(메인이라고 가정). 다음으로 git merge <branch name> 를 사용하여 git merge 명령을 수행합니다. 프레스토 악장. 당신의 두 가지가 하나가 되었습니다.

$ git checkout main
// switches back into the "main" branch

$ git merge newBranchName
// merges the branch "newBranchName" into the main branch.


이런! 다시 데려다!





오, 이번에는 정말 해냈습니다. 우리는 은유적으로 유명한 Werewraith와 결혼했습니다. 프로그램을 저장할 수 있는 유일한 기회는 이전 커밋으로 돌아가는 것입니다. 먼저 돌아가고 싶은 커밋을 찾으십시오. git log 명령git log을 실행하여 커밋 기록을 볼 수 있습니다. 올바른 커밋을 찾으면(아마도 설명적인 커밋 메시지를 만들었을 것입니다) commitIDgit reset <commitID>를 사용하여 Git 재설정을 수행하여 해당 커밋으로 돌아갈 수 있습니다. Git 재설정의 기본 모드는 "소프트"또는 "하드"재설정이 아닌 "혼합"재설정입니다. 이에 대한 자세한 내용은 다음을 참조하십시오helpful guide.

$ git log --oneline
// shows the commit history, abbreviated to one line, making it easier to identify the correct commit

1410e61 third commit
f90d85f second commit
689fc78 first commit
// ^^^ this is the oneline log history. The seven character code is the commit ID, followed by the commit message.

$ git reset 1410e61
// resets to the "third commit" 


결론



이미 수행한 모든 것을 잠재적으로 파괴할 염려 없이 새 코드를 시도하거나 그룹 프로젝트에서 작업할 수 있는 기능을 통해 Git에서 버전 제어를 사용하는 방법을 배우는 것은 매우 가치 있는 노력입니다. 모든 개발자에게 유용한 도구입니다.

좋은 웹페이지 즐겨찾기