Git으로 무엇을 할 수 있을까?
버전 관리
문서를 수정할 때마다 언제 수정했는지, 어떤 것을 변경했는지 편하고 구체적으로 기록
백업
현재 컴퓨터의 자료를 인터넷상의 공간(원격 저장소)에 백업. 주로 Github 사용
협업
원격 저장소를 기준으로 여러 사람이 함께 일할 수 있다.
누가 언제 어느 부분을 수정했는지 기록된다.
원격 저장소
지역 저장소가 아닌 컴퓨터나 서버에 만든 저장소
지역 저장소와 연결되어 있으면서 '백업'과 '협업'에서 중요한 역할
인터넷에서 원격 저장소 제공 서비스를 주로 사용 > 깃허브

Github로 할 수 있는 일
- 원격 저장소에서 깃 사용
- 지역 저장소 백업
- 협업 프로젝트에 사용
- 온라인 개발 툴 사용
- 개발 이력 관리
- 오픈 소스에 참여
- AI 동료인 코파일럿 사용
Github sign-up
Github 홈페이지에 들어가서 회원가입
GitHub: Let’s build from here
GitHub is where over 100 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and fea...
github.com
Repository 생성
1. 오른쪽 상단의 + 버튼을 눌러 New repository 클릭

| New repository | 새로운 저장소 만들기 |
| Import repository | 저장소 가져오기 |
| New codespace | 클라우드에 호스트되는 개발환경 |
| New gist | 코드 스니펫, 메모, 또는 파일을 공유 |
| New organization | 리포지토리에 세부화된 액세스 권한을 적용 예) 학교 팀 프로젝트 |
| New project | 특정 작업이나 기능을 관리하고 추적할 수 있는 도구 스프레드시트처럼 구축되어 있으며, 이수 및 풀 리퀘스트를 필터링, 정렬 및 그룹화할 수 있는 라이브 캔버스를 제공 |
2. 정보 기입

| Repository name | 해당 프로젝트를 식별하는 데 사용되는 고유한 이름 https://github.com/username/my-website 과 같이 URL을 구성 |
| Description | 리포지토리에 대한 설명 |
| public / private | 리포지터리 공개 여부 |
| Add a README file | README 파일 생성 여부 README 파일은 프로젝트의 정보를 제공하는 중요한 문서로 소스코드의 역할, 리포지토리 사용 방법, 오픈소스 저작권 등을 작성 |
| ADD.gitignore | Git에서 관리하지 않을 파일이나 디렉토리를 지정 예) 비밀키가 있어서 노출이 되면 안되는 파일 또는 프로젝트를 할 때 외부 라이브러리를 사용하는데 이 라이브러리는 Github에 업로드 할 필요가 없는 경우 |
| Choose a licence | 프로젝트에 적용할 라이센스를 선택 다른 사람들이 내 코드를 어떻게 사용할 수 있는지를 정의 |
3. Repository 생성

깃허브 저장소에 접속하는 방법은 HTTPS, SSH 방식 2가지가 있다.
깃허브 저장소 주소를 이용해 어디서든 접속할 수 있다.
원격 저장소 삭제하기
저장소 화면의 [Settings]를 클릭해 Danger Zone의 [Delete this repository]를 클릭하면 저장소를 삭제할 수 있다.

지역 저장소 만들기
log-git 디렉터리를 생성 후, VS Code 위로 드래그해서 작업 폴더 추가하기


로컬 저장소와 원격 저장소 연결
Local Repository --- ? --- Remote Repository
현재 로컬 저장소와 원격 저장소가 생성만 되어 있는 상태이다.
즉, 로컬 저장소에 원격 저장소를 연결시켜 주어야 한다.
1. Git bash 설치
Git - Downloads
Downloads macOS Windows Linux/Unix Older releases are available and the Git source repository is on GitHub. Latest source Release 2.47.0 Release Notes (2024-10-06) Download Source Code GUI Clients Git comes with built-in GUI tools (git-gui, gitk), but ther
git-scm.com
2. Git bash 실행 후 환경 설정

git config --global user.name "userName"
git config --global user.email "userEmail"
* --global : 시스템 전체에 적용할 환경
* ~ : 홈 디렉토리에 있다는 의미
원격 저장소에 연결하기
원격 저장소의 HTTPS 주소를 복사한 후, 터미널 창에 명령어 입력

깃허브 저장 주소를 origin으로 줄여서 표현하고 remote에 추가한다.
상단의 사진처럼 표시되면 정상적으로 연결된 것이다.
원격 저장소에 커밋 처음으로 올리기
지역 저장소의 소스를 원격 저장소의 master 브랜치로 푸시, 처음 푸시할 때는 -u 옵션을 붙여준다.
푸시(push) : 지역 저장소의 소스를 원격 저장소로 올리는 것
-u : 로컬 브랜치와 원격 브랜치 간의 관계를 설정하여 이후에 푸시나 풀을 할 때 편리하게 사용하도록 도와줌
깃허브 로그인 창이 나타나면 로그인을 진행하고, 사용자 인증이 끝나면 터미널 창에서 푸시가 진행된다.

원격 저장소에 커밋 올리기
f1.txt에 내용을 추가하고 저장한다. 그 후 "add b" 메시지로 커밋해 주고 git push 명령어를 이용해 원격 저장소로 푸시해 준다.

브라우저에서 원격 저장소를 확인하면 다음과 같이 연동된 것을 볼 수 있다.

원격 저장소에서 직접 커밋하기
원격 저장소로 접속한 후 [Add file] - [Create new file]을 선택한다.

f2.txt 파일을 만든 후 내용을 입력하고 [Commit changes]를 클릭한다.

커밋 메시지 입력 후 [Commit changes]을 클릭하면 원격 저장소에 새로운 커밋이 추가된다.


원격 저장소에서 커밋 내려받기
origin(원격 저장소)을 지역 저장소의 master 브랜치로 가져온 후 git log로 커밋을 확인한다.
pull : 원격 저장소에 변경이 있을 경우 원격 저장소의 커밋을 지역 저장소로 가져옴


원격 저장소 화면 살펴보기

깃허브에 SSH 원격 접속하기
SSH 원격 접속
Secure Shell의 줄임말로, 보안이 강화된 안전한 방법으로 정보를 교환하는 방식이다.
프라이빗 키와 퍼블릭 키가 한 쌍으로 묶어서 컴퓨터를 인증한다.
SSH 접속은 사용하는 기기를 깃허브에 인증하는 방식이다.
SSH 키 생성하기
터미널에서 ssh-keygen 명령어를 실행한다.
파일 이름이나 경로 입력하지 않고 [Enter] 치면 기본 경로에 생성된다.

폴더 경로에 한글이 있을 경우 .ssh 폴더가 생성되지 않으니 다음 명령어로 직접 폴더를 생성해 준다.
또한 -f로 경로를 지정해주어야 한다.

다음 명령어로 키가 제대로 생성되었는지 확인한다.

생성 완료했으면, SSH 에이전트에 프라이빗 키를 등록한다.

깃허브에 SSH로 접속하는 방법

깃허브에 퍼블릭 키 등록하기
clip 명령으로 퍼블릭 키 내용을 복사한다.

깃허브 접속 후 사용자 아이콘을 클릭하고, [Settings]를 선택한다.

Access 카테고리에서 [SSH and GPG keys]를 선택한다.

[New SSH key]를 클릭 후 타이틀을 지정하고 Key 항목에 복사한 항목을 붙여 넣어 준다.

[Add SSH key]를 클릭해 주면 SSH key가 새로 추가된 것을 볼 수 있다.

SSH 주소로 원격 저장소 연결하기
원격 저장소의 SSH 주소를 복사해 준 후 다음과 같이 진행한다.

test-2 폴더에 a.txt 파일을 생성 후 '1'을 입력해 저장해 준다. 그 후 다음과 같이 진행한다.

깃허브 저장소에서 커밋을 확인한다.

'DevOps > Github' 카테고리의 다른 글
| [Github] VS Code에서 GUI 방식으로 사용하기 (0) | 2024.10.14 |
|---|---|
| [Github] Github에서 다른 사람과 소통하기 (1) | 2024.10.14 |
| [Github] Github로 협업하기 (0) | 2024.10.11 |
| [Github] Branch (0) | 2024.10.11 |
| [Github] Git으로 버전 관리하기 (0) | 2024.10.10 |