에디터에서 Git 사용하기
에디터에서 Git 사용하기
소개
Git이란?
Git(깃이라고 읽습니다)은 소프트웨어 프로젝트에서 널리 쓰이는 코드 버전 관리 시스템입니다. 특히 다음을 가능하게 합니다.
- 코드의 기록을 남겨, 이전으로 되돌릴 수 있습니다 ;
- 여러 기기를 동기화하고, 충돌을 줄이면서 같은 파일로 팀 작업을 할 수 있습니다 ;
- 같은 코드의 여러 버전을 유지하여, 동작하는 버전을 망가뜨리지 않고 개발하고 실험할 수 있습니다 ;
- 프로젝트를 쉽게 백업할 수 있습니다.
Git으로 버전 관리되는 폴더를 저장소(영어로 _repository_ 또는 _repo_)라고 부릅니다.
포지(forge)란?
Git은 로컬(여러분의 컴퓨터 또는 Leek Wars 에디터)에서 쓸 수 있는 소프트웨어이지만, 소프트웨어 포지와 연동할 수도 있습니다. 포지란 Git 저장소를 호스팅하는 서버입니다.
Leek Wars는 여러 포지를 지원합니다. 가장 간단한 방법은 다음 중 하나를 고르는 것입니다.
- GitHub, Microsoft(미국)의 사유 서비스. Leek Wars의 코드도 여기에 호스팅되어 있습니다.
- GitLab.com, 자체 호스팅이 가능한 자유 소프트웨어 GitLab의 공식 인스턴스(미국).
- Bitbucket, Atlassian(미국)의 사유 서비스.
- Codeberg, 자체 호스팅이 가능한 커뮤니티 자유 소프트웨어 Forgejo의 공식 인스턴스로, 독일의 비영리 단체가 호스팅합니다.
GitLab, Bitbucket, Forgejo, Gitea 또는 Gogs 기반의 다른 포지(예: framagit.org, gitea.com)도 사용할 수 있습니다.
기존 AI에 Git 사용하기
우선 AI는 루트가 아니라 폴더 안에 있어야 합니다. 폴더를 만들고, 폴더를 우클릭한 뒤 "Git 저장소 초기화"를 선택하세요. 이 폴더에 Git으로 관리할 모든 파일이 들어갑니다.
파일 목록(왼쪽 메뉴) 상단에 가지 모양 아이콘의 Git 탭이 나타납니다. 그곳으로 가세요.
커밋하기
(커밋은 변경 사항을 기록에 "확정"하는 것입니다)
Git 탭 상단의 드롭다운 선택기에서 원하는 저장소가 선택되어 있는지 확인하세요(저장소가 여러 개인 경우).
저장소의 파일이 수정되면 변경 사항이 Git 탭에 나타납니다. 이 변경 사항은 아직 스테이지되지 않은 상태입니다. 아직 기록에 새겨지지 않은 초안과 같습니다.
변경 사항을 기록에 저장하고 싶으면 ➕ 버튼을 눌러 스테이지하세요. "커밋 메시지" 필드에 변경 내용을 몇 마디로 요약하고 확정하세요.
참고: Git 탭의 모든 버튼을 제대로 보려면 오른쪽 가장자리를 드래그해서 탭을 오른쪽으로 넓혀야 할 수도 있습니다!
기록은 커밋의 목록이며, 각 커밋은 날짜와 메시지가 붙은 변경 사항의 묶음입니다. 어떤 변경이 언제 이루어졌는지 찾고, 이전으로 되돌리고, 반쯤만 동작하는 코드가 생기지 않도록 변경 사항을 묶는 것이 목적입니다...
포지에 연결하기
포지에서의 설정
Git 포지에 계정을 만들고 빈 저장소를 만드세요. 저장소 주소를 찾으세요. https://exemple.net/mon-pseudo/mon-depot.git과 비슷한 형태일 것입니다. 저장소 메인 페이지의 주소 끝에 .git을 붙인 것입니다.
그다음 Leek Wars가 저장소에 접근하도록 허용해야 합니다. 절차는 포지마다 다릅니다.
- GitHub : 가장 간단한 방법은 에디터에서 직접 Leek Wars GitHub App을 설치하는 것입니다(아래 참고). 대신 토큰을 만들 수도 있습니다. 프로필을 클릭하고 Settings, Developer Settings(맨 아래)로 가세요. 열리는 페이지에서 Personal access tokens, Tokens (classic)을 선택하세요. 만료 기간(예: 90일)을 정하고, 저장소에 참여하는 데 필요한 권한만 부여하세요.
- Forgejo : 계정 설정, 애플리케이션, 새 액세스 토큰. "repository"에 읽기 및 쓰기 권한을 허용하세요.
토큰(_token_)을 만들었다면 잃어버리지 않도록 잘 보관하세요!
Leek Wars에서의 설정
Git 탭 하단의 구름 모양 버튼 "리모트 설정"을 클릭하세요.
여기서 원격 저장소(리모트)를 선언합니다. 이름(예: origin)을 입력하고, 저장소 URL을 붙여넣은 뒤 "추가" 버튼을 클릭하세요. 이 단계는 무엇이든 푸시하기 전에 반드시 거쳐야 합니다.
인증을 위해 포지를 선택하세요: GitHub, GitLab, Bitbucket 또는 Forgejo.
- GitHub : 기본 경로는 "GitHub App 설치" 버튼입니다. 설치할 때 접근을 허용할 저장소를 선택하세요. Leek Wars로 돌아오면 그중 하나를 리모트로 바로 선택할 수 있습니다. 대신 "액세스 토큰" 필드에 Personal Access Token을 붙여넣을 수도 있습니다.
- GitLab 및 Bitbucket : "액세스 토큰" 필드에 토큰을 붙여넣으세요. gitlab.com이나 bitbucket.org 대신 자체 호스팅 인스턴스를 사용한다면 "자체 호스팅 인스턴스"를 체크하고 포지의 주소를 입력하세요(이 체크박스는 GitHub에도 있습니다).
- Forgejo : 이 포지에는 "자체 호스팅 인스턴스" 체크박스가 없고, 인스턴스 주소 필드가 항상 표시됩니다(codeberg.org로 미리 채워져 있음). 필요하면 여러분의 인스턴스 주소를 입력하고, "액세스 토큰" 필드에 토큰을 붙여넣으세요.
커밋을 서버로 보내기
지금까지 커밋 기록은 Leek Wars에만 저장되어 있습니다. 포지로 보내려면 Git 탭 맨 아래의 ⬆ 버튼으로 푸시를 합니다.
새 커밋을 보내고 싶을 때마다 푸시하세요.
그 밖의 기능
에디터와 Git 탭은 다음 기능도 제공합니다.
- 저장소 복제 : 파일 메뉴 → "Git 저장소 복제"에서 저장소 URL과 대상 폴더를 지정합니다.
- 풀 (pull) : "풀 (pull)" 버튼으로 리모트의 커밋을 가져오며, 병합 또는 리베이스 전략을 선택할 수 있습니다("풀 전략").
- 브랜치 : 브랜치 선택기로 브랜치를 바꾸거나 새로 만들고("새 브랜치...") 리모트 브랜치를 볼 수 있습니다.
- 기록과 diff : "기록" 버튼은 커밋 목록을 보여 주며, 수정된 파일을 클릭하면 그 차이를 표시합니다.
- 충돌 해결 : 병합이나 리베이스 중 충돌이 생기면 에디터에서 해결한 뒤 계속할 수 있습니다.
- 마지막 커밋 취소 : 취소된 커밋의 변경 사항은 인덱스에 남아 있습니다.
- 저장소 압축 : 저장소가 차지하는 공간을 줄입니다(할당량에 유용).
- 내장 Git 터미널 : 에디터가 실행한 Git 명령의 로그를 표시합니다.