나는 아주 어렸을 때 어쩌다 우연히 C++의 세계에 접하게 되었고 오랫동안 사랑받았던 "Hello World" 프로그램을 만들게 되었습니다. 나는 그것을 컴파일하고 실행했고, "프로그래밍"에 대한 성공적인 진출을 확인하는 팝업을 받았습니다.
그러나 나는 그 이상으로 나아간 적이 없습니다. 12살 때 버전 관리 프로세스가 형편없었기 때문입니다. 소스 코드를 잃어버렸다가 일주일 후에 다시 돌아와서 새 파일을 다시 만들곤 했습니다. 나는 C++로 작은 일을 하면서 놀았지만, 그렇게 할 때마다 기본적으로 처음부터 시작하는 것이었습니다. 왜냐하면 소스 코드에 대한 통제력을 유지하는 데 너무 서툴렀기 때문입니다.
빌드할 때마다 모든 진행 상황을 잃는 것보다 더 빠르게 코드 작업에 대한 야망을 없애는 것은 없습니다. 이 문제에 대한 해결책은 Git, 또는 이 경우에는 특히 GitHub입니다. 이제 3부에서 이 작은 Terraform 배포를 가져와 VSCode의 내장 터미널에서 몇 가지 기본 Git 명령을 사용하여 GitHub에 배치합니다(이 작업을 수행하는 VSCode Github 확장이 있지만 Git 명령이 무엇인지 이해하는 것이 가장 좋습니다) 확장 기능을 사용하여 작업을 수행하기 전에 이러한 유형의 작업을 수행하는 데 사용됩니다.
이 단계에서는 OS의 기본 터미널(CMD, Powershell, ZSH 등)을 사용할 수도 있습니다.
"CTRL + `"(백틱, "1" 왼쪽에 있는 작은 키)를 눌러 VSCode에서 터미널을 엽니다.
이 새 터미널에서 올바른 파일 디렉터리에 있는지 확인하세요(기본값임). 다음 단계에서는 이 폴더에서 Git 저장소를 초기화하고 코드 변경 사항을 추적하기 시작합니다. 코드가 있는 디렉터리가 아닌 경우 올바른 디렉터리로 변경하세요.
이제 Git을 초기화하고 싶습니다. 이 유형을 수행하려면: git init
Git은 이제 이 디렉터리에서 실행되고 있지만 어떤 파일(또는 해당 파일의 코드)도 추적하지 않습니다.
Git은 로컬 코드 저장소는 물론 원격 코드 저장소("repo")도 사용할 수 있습니다. 대부분의 전문적인 환경에서는 Github, Gitlab, Bitbucket 등과 같은 서비스와 함께 원격 저장소를 사용하게 됩니다. 추적할 코드를 보낼 위치를 Git에 알려야 합니다. 이를 위해 git remote add
사용합니다.
이에 대한 구문은 다음과 같습니다: git remote add origin https://github.com/owner/repo_name.git
이를 분석하면: git remote add origin
git에게 "origin"이라는 원격 저장소를 추가하고 그 뒤의 URL을 이 원격 저장소의 대상으로 사용하도록 지시합니다.
제 경우에는 내 계정으로 GitHub에 새(빈) 저장소를 생성하여 다음과 같이 보입니다. git remote add origin https://github.com/wellmadeoldfashioned/YT-single-server-arch-AWS.git
이제 git에게 파일을 "추적"하라고 지시하는 단계로 넘어갈 수 있습니다. 특정 파일을 추적하려면 다음을 수행할 수 있습니다: git add [filename]
또는 현재 저장소의 모든 것을 추적하려면 다음을 수행할 수 있습니다: git add .
- 일반적으로 명시적으로 개별 파일을 추가하고 로컬 디렉터리의 모든 파일을 추적하지 않는 것이 가장 좋습니다.
이제 Terraform 파일을 추가해 보겠습니다. 이를 수행하려면 다음 명령을 실행하십시오: git add main.tf
이 시점에서 이전 단계에서 추가한 파일은 이제 "스테이징"되었습니다. 이는 Git에게 "이 파일의 복사본을 현재 그대로 가져오고 복사본을 저장소에 보낼 준비를 하라"고 지시했다는 의미입니다. ” (이 경우 원격 저장소: Github).
파일이 준비되면 커밋을 생성해야 합니다. 이를 개발 진행 과정에서 체크포인트를 설명하는 짧은 메시지를 추가할 수 있는 체크포인트로 생각하세요.
커밋을 준비하려면 git commit -m “[message_goes_here]”
사용합니다. 첫 번째 커밋에서는 "초기 커밋"과 같은 것을 사용하는 것이 전통이지만 메시지에 들어갈 내용을 지시하는 규칙은 없습니다. 일반적으로 말하면 간결하고 설명적이어야 합니다. 예를 들어 변수 이름을 업데이트한 커밋인 경우 git commit -m “updated AMI variable to XYZ”
라고 말하면 됩니다.
이제 다음을 실행하세요: git commit -m “initial commit”
- Git으로부터 다음과 같은 몇 줄의 피드백을 받아야 합니다.
거의 완료되었지만 아직은 완료되지 않았습니다. Git을 초기화하고, 원격 저장소를 추가하고, Git에게 특정 파일을 추적하도록 지시하고, 원격 저장소에 커밋을 준비했지만 아직 원격 저장소에 커밋을 보내지 않았습니다.
커밋(위에서 Git 커밋 명령을 사용하여 생성한 "체크포인트")을 보내려면 git push [remote-repo-name] [local-branch-name]
을 실행해야 합니다.
원격 저장소 이름을 알아내려면 4단계에서 이름을 무엇으로 지정했는지(이 경우에는 "origin") 확인해야 합니다. 로컬 브랜치 이름을 알아내려면 git branch
실행하거나, 기본 설정을 변경하지 않은 경우 마스터 브랜치가 “master”가 됩니다.
보시다시피, 우리는 실제로 마스터 브랜치를 로컬에서 작업하고 있습니다. 따라서 코드를 Github에 푸시하려면 다음을 실행해야 합니다. git push origin master
GitHub 측을 확인하면 방금 보낸 커밋을 볼 수 있습니다.
실제 커밋 변경 사항은 다음과 같습니다.
이것이 Git 및 GitHub를 시작하는 데 도움이 되기를 바랍니다. 이 작업 데모에는 단순함을 위해 몇 가지 지름길을 사용했지만(마스터 브랜치를 보존하기 위해 새 브랜치를 생성하지 않는 것, 변경 사항을 병합하지 않는 것, 분기 등) 이 지식은 그러한 것들을 배우기 위한 기초입니다.
이러한 방식으로 Git을 사용하여 편안함을 얻은 후에는 다른 분기 작업으로 이동하여 "HEAD"가 무엇인지, 이를 조작하는 방법, 저장소 포크, 변경 사항 병합 등을 이해해야 합니다.