Git – 꿈꾸는 개발자 https://studioys.me #개발 #일상생활 #생각 Mon, 06 Jan 2025 12:37:17 +0000 ko-KR hourly 1 https://wordpress.org/?v=6.8 https://studioys.me/wp-content/webpc-passthru.php?src=https://studioys.me/wp-content/uploads/2024/09/cropped-그림1-32x32.png&nocache=1 Git – 꿈꾸는 개발자 https://studioys.me 32 32 원격 저장소 복제하고 원격 저장소에 업로드 하기 – git clone https://studioys.me/how-to-clone-and-upload-to-remote-repository/ https://studioys.me/how-to-clone-and-upload-to-remote-repository/#respond Mon, 16 Sep 2024 04:21:54 +0000 https://studioys.me/?p=494 더 보기원격 저장소 복제하고 원격 저장소에 업로드 하기 – git clone]]> 원격 저장소에 있는 프로젝트를 사용하기 위해서는 git clone 명령을 사용하여 로컬 저장소에 프로젝트를 복제(다운로드)해야 합니다. 이번 포스팅에서는 원격 저장소 복제하는 방법에 대해서 간단하게 알아보겠습니다.

SSH 인증

GitHub에서 Private 저장소를 복제하거나 파일을 업로드 하기 위해서 먼저 SSH 키를 생성 후 GitHub에 공개키를 등록해서 SSH 인증이 가능해야 합니다.

만약 SSH 인증을 위한 절차를 하지 않았다면 아래 포스트를 참고하여 인정 절차를 먼저 진행해주세요.

원격 저장소 복제 – git clone

원격 저장소를 복제하기 위해서는 아래와 같이 입력하면 됩니다.

git clone <저장소 >

보통 GitHub, GitLab 등 원격 저장소 호스팅 업체에서는 아래와 같이 저장소 주소를 HTTPS 및 SSH 형태로 제공하고 있습니다.

저장소 복제 - GitHub 저장소 주소

저는 이전 포스트에서 생성한 원격 저장소를 복제해보겠습니다. 작업 폴더로 이동 후 아래와 같이 입력합니다.

git clone git@github.com:whalec-io/git-test.git
Cloning into 'git-test'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 3 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (3/3), done.

작업 폴더 하위에 git-test 폴더가 생성되고, 거기에 원격 저장소에 있는 파일이 복제 됩니다. 폴더 이름은 기본적으로 저장소 이름을 생성됩니다.

cd git-test
ls
실행 결과
total 0
drwxr-xr-x@  4 eden  staff  128  9 16 12:56 .
drwxr-xr-x@  4 eden  staff  128  9 16 12:55 ..
drwxr-xr-x@ 12 eden  staff  384  9 16 12:56 .git
-rw-r--r--@  1 eden  staff    0  9 16 12:56 a.txt

만약 폴더를 변경하고 싶다면 아래와 같이 저장소 뒤에 폴더 이름을 입력하면 됩니다.

git clone <저장소 > <폴더 >

git clone -b

git clone 시 기본 브랜치의 내용을 복제하는데, git clone -b 옵션을 사용하면 기본 브랜치가 아닌 특정 브랜치의 내용을 복제합니다.

git clone -b <브랜치이> <저장소 > <폴더 >

아래와 같이 develop 브랜치의 내용을 복제하겠습니다.

git clone -b develop git@github.com:whalec-io/git-test.git git-test-dev
실행 결과
Cloning into 'git-test-dev'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 3 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (3/3), done.e correct access rights
and the repository exists.

만약 브랜치가 없으면 아래와 같이 오류 발생 후 복제하지 않습니다.

git clone -b develop2 git@github.com:whalec-io/git-test.git git-test-dev2
실행 결과
Cloning into 'git-test-dev2'...
fatal: Remote branch develop2 not found in upstream origin

저장소에 커밋하기

a.txt 파일을 저장하고, git status 명령어를 입력하면 a.txt 파일이 수정된 것을 확인할 수 있습니다.

git status
실행 결과
On branch develop
Your branch is up to date with 'origin/develop'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	modified:   a.txt
	

no changes added to commit (use "git add" and/or "git commit -a")

git add 명령어를 사용하여 스테이징 영역으로 이동합니다.

# git add <파일>

# 전체 추가
git add .       # 또는 파일 만 추가 : git add a.txt

git commit 명령어를 사용하여 커밋을 해보겠습니다.

git commit -m "Second Commit"
실행 결과
[develop 4b74182] Second Commit
 1 file changed, 1 insertion(+)

로컬 저장소에 정상적으로 커밋되었습니다. 커밋 이력은 git log 명령어를 통해 확인할 수 있습니다.

git log
실행 결과
commit 4b74182b3ed98c1439d23f26057b87c06bb2f329 (HEAD -> develop)
Author: whalec-io <whalec-io@daum.net>
Date:   Mon Jan 6 21:30:46 2025 +0900





    Second Commit







commit c3ac25994fe5925df74554949a69f1bc7043fcdf (origin/main, origin/develop, origin/HEAD)



Author: eden kang <whalec-io@daum.net>
Date:   Thu Sep 12 00:04:42 2024 +0900

    First Commit

마치며

간단하게 git clone 사용 방법에 대해서 알아보았습니다.

]]>
https://studioys.me/how-to-clone-and-upload-to-remote-repository/feed/ 0
저장소 생성하고 원격 저장소에 업로드 하기 – git init https://studioys.me/how-to-create-a-local-repository-and-upload-remote-repository/ https://studioys.me/how-to-create-a-local-repository-and-upload-remote-repository/#respond Thu, 12 Sep 2024 13:35:42 +0000 https://studioys.me/?p=447 더 보기저장소 생성하고 원격 저장소에 업로드 하기 – git init]]> Git을 활용한 버전 관리의 기본적인 절차는 저장소 생성하고 파일을 커밋하고 원격 저장소에 업로드 하는 것입니다. 이번 포스팅에서는 저장소 생성(git init)부터 원격 저장소 업로드(git push)까지 간단하게 알아보겠습니다.

사용자 정보 설정

Git을 처음 설치한 후, 가장 먼저 해야 할 일은 사용자 이름과 이메일 주소를 설정하는 것입니다. 이는 커밋 할 때 저자에 기록되는 정보로, 전역 설정을 통해 한 번만 설정하면 됩니다. 아래 명령어를 사용하여 설정할 수 있습니다.

git config --global user.name "Your Name"
git config --global user.email "youremail@example.com"

작업 폴더 생성

이제 실제로 버전 관리를 할 작업 폴더를 생성해 보겠습니다. 간단하게 git-test 폴더를 만들고 그 안에 텍스트 파일을 몇 개 생성해보겠습니다.

# git-test 폴더 생성
mkdir git-test
# 폴더 이동
cd git-test
# 텍스트 파일 생성
touch a.txt b.txt c.txt
# 디렉토리 목록 확인
ls -al
실행 결과
total 0
drwxr-xr-x@ 5 eden  staff  160  9 11 22:21 .
drwxr-xr-x@ 3 eden  staff   96  9 11 22:21 ..
-rw-r--r--@ 1 eden  staff    0  9 11 22:21 a.txt
-rw-r--r--@ 1 eden  staff    0  9 11 22:21 b.txt
-rw-r--r--@ 1 eden  staff    0  9 11 22:21 c.txt

이 상태에서 git status 명령어를 실행하면, 아직 Git 저장소가 생성되지 않았기 때문에 오류가 발생합니다.

git status
실행 결과
fatal: not a git repository (or any of the parent directories): .git 

저장소 생성 – git init

이제 현재 작업 폴더에서 Git 저장소를 생성해보겠습니다. git init 명령어를 입력하면 로컬 저장소가 생성됩니다.

git init
실행 결과
Initialized empty Git repository in /Users/eden/workspace/git-test/.git/

아래 그림과 같이 main 브랜치로 저장소가 생성되었습니다. 저장소는 생성 시 main(구 버전의 경우 master) 또는 사용자가 설정한 기본 브랜치 이름으로 생성됩니다.

git init - 저장소 생성 완료 스크린샷

이 명령어를 실행하면, 현재 폴더에 .git 폴더가 생성됩니다. 이 폴더가 바로 로컬 저장소로 Git이 관리하는 메타데이터와 객체 파일들이 저장됩니다. 또한 이 폴더를 통해 버전 관리가 이루어집니다.

ls -al
실행 결과
total 0
drwxr-xr-x@ 6 eden  staff  192  9 11 22:31 .
drwxr-xr-x@ 3 eden  staff   96  9 11 22:41 ..
drwxr-xr-x@ 9 eden  staff  288  9 11 22:31 .git
-rw-r--r--@ 1 eden  staff    0  9 11 22:21 a.txt
-rw-r--r--@ 1 eden  staff    0  9 11 22:21 b.txt
-rw-r--r--@ 1 eden  staff    0  9 11 22:21 c.txt

다시 git status 명령어를 입력하면 아직 커밋되지 않았다고 표시되며, git add 명령어를 사용하여 파일을 추작하라고 합니다.

git status

저장소에 커밋하기

git add 명령어를 사용하여 1개 파일을 스테이징 영역으로 이동시키고 추적을 시작하겠습니다.

git add a.txt

다시 git status 명령어를 입력하면 기존과 다르게 a.txt 파일이 녹색으로 변경된 것을 확인할 수 있습니다. a.txt 파일만 스테이징 영역으로 이동되어 추척되고 있으며, 커밋 시 해당 파일만 커밋됩니다.

b.txt 파일c.txt 파일git add 하지 않았기 때문에 스테이징 영역으로 이동하지 않아 커밋 시 반영되지 않습니다.

이제 git commit 명령어를 사용하여 커밋을 해보겠습니다.

git commit -m "First Commit"
실행 결과
[main (root-commit) c3ac259] First Commit
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 a.txt

로컬 저장소에 정상적으로 커밋되었습니다. 커밋 이력은 git log 명령어를 통해 확인할 수 있습니다.

git log
실행 결과
commit c3ac25994fe5925df74554949a69f1bc7043fcdf (HEAD -> main)
Author: eden kang <whalec-io@daum.net>
Date:   Thu Sep 12 00:04:42 2024 +0900

    First Commit

SSH 인증

GitHub 저장소에 파일을 업로드 하기 위해서 먼저 SSH 키를 생성 후 GitHub에 공개키를 등록해서 SSH 인증이 가능해야 합니다.

만약 SSH 인증을 위한 절차를 하지 않았다면 아래 포스트를 참고하여 인정 절차를 먼저 진행해주세요.

원격 저장소 업로드

원격 저장소는 GitHub, GitLab과 같은 서비스에 호스팅된 저장소로 먼저 원격 저장소에 저장소를 만들어야 합니다.

GitHub에 아래와 같이 아무것도 없는 빈 원격 저장소를 만들어보겠습니다.

github에 원격 저장소 생성

이제 로컬 저장소 변경 내역을 원격 저장소에 업로드 해보겠습니다. 먼저 아래와 같이 원격 저장소에 연결해야 합니다. 저는 SSH 인증을 사용하기 때문에 SSH 주소를 복사 & 붙여 넣기 했습니다.

#git remote add origin <원격 저장소 URL>
git remote add origin git@github.com:whalec-io/git-test.git

원격 저장소와 로컬 저장소가 연결되었으니 로컬 저장소의 변경 내역을 업로드 해보겠습니다.

git push -u origin main
실행 결과
Enter passphrase for key '/Users/eden/.ssh/id_ed25519':
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 207 bytes | 207.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To github.com:whalec-io/git-test.git
 * [new branch]      main -> main
branch 'main' set up to track 'origin/main'.

GitHub에 가면 a.txt 파일이 정상적으로 업로드 된 것을 확인할 수 있습니다.

GitHub repository 목록

마무리

간단하게 저장소 생성 부터 원격 저장소 업로드까지 알아보았습니다. 다음 시간에는 스테이징에 대해서 더 자세하게 알아보도록 하겠습니다.

]]>
https://studioys.me/how-to-create-a-local-repository-and-upload-remote-repository/feed/ 0
GitHub 사용을 위한 SSH 인증(키 생성 및 등록) https://studioys.me/ssh-authentication-methods-for-using-github/ https://studioys.me/ssh-authentication-methods-for-using-github/#respond Thu, 12 Sep 2024 09:25:04 +0000 https://studioys.me/?p=456 더 보기GitHub 사용을 위한 SSH 인증(키 생성 및 등록)]]> GitHub에서 소스를 업로드 하거나 private repository에 접근하려면 인증이 필요합니다. GitHub에서 패스워드 기반 인증은 지원하고 있지 않기에 대부분 SSH 인증을 사용합니다. 이 포스팅에서는 SSH 키 생성 및 GitHub에 SSH Key를 등록하여 SSH 인증하는 방법에 대해서 알아보도록 하겠습니다.

왜 SSH 인증을 사용하나요?

GitHub에서 소스를 업로드 하거나 private repository에 접근하려면 인증이 필요합니다. GitHub에서 보안상의 이유로 패스워드 인증 방식을 . 더이상 지원하지 않으며, 대신 personal access token 또는 SSH 방식을 사용해 인증을 수행해야 합니다.

git 패스워드 방식 미지원 스크린샷
패스워드 방식은 더 이상 지원하지 않는다

SSH는 Secure Shell의 약자로, 네트워크 상의 다른 컴퓨터에 안전하게 접속하고 명령을 실행할 수 있게 해주는 보안 프로토콜입니다. SSH 프로토콜은 대칭키 암호화 방식 또는 비대칭키 암호화 방식을 사용하여 보안 채널을 제공하는데, GitHub의 경우 비대칭키 암호화 방식(=공개 키 인증 방식)을 지원하고 있습니다.

공개키 인증 방식을 사용하려면 한 쌍의 공개키와 개인키를 만들어야 합니다. 공개키는 누구나 사용할 수 있으며 보통 서버에 등록하는 용도로 사용합니다. 개인키는 공개키와 반대로 반드시 나만 사용할 수 있도록 안전하게 보관해야 하는 파일입니다.

SSH 공개키와 개인키 만들기

SSH 키를 만들기 전에 기존에 생성한 키가 있는지 확인합니다. ~/.ssh 폴더에 id_xxxxid_xxxx.pub 파일이 있다면, 이미 키를 생성한 적이 있는 것입니다. 이 경우 기존 키에 덮어쓰기 하거나 다른 경로에 새 키를 생성할 수 있습니다. ( 윈도우는 command 말고 Git Bash를 사용해야 합니다. )

cd ~/.ssh

이제 키를 생성해보겠습니다. 터미널을 열고 아래 명령어를 입력합니다.

ssh-keygen -t ed25519 -C "your_email@domain.com"

ed25519 방식으로 키 생성이 안되면 RSA 방식으로 키를 생성합니다.

ssh-keygen -t RSA -b 4096 -C "your_email@domain.com"

실제 키를 생성해보겠습니다.

ssh-keygen -t ed25519 -C "whalec-io@daum.net"

첫 번째로 키의 저장 경로를 물어보는데, 기본 경로를 사용하려면 그냥 Enter를 누르면 됩니다.

실행 결과
Generating public/private ed25519 key pair.
Enter file in which to save the key (/Users/eden/.ssh/id_ed25519):

두 번째로 패스워드를 설정할지 묻는데, 보안을 위해 패스워드를 설정하는 것을 권장합니다.

실행 결과
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

이 과정을 마치면 SSH 키가 생성됩니다. id_ed25519는 개인키로 id_ed25519.pub는 공개키로 생서됩니다.

실행 결과
Your identification has been saved in /Users/eden/.ssh/id_ed25519
Your public key has been saved in /Users/eden/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:+6K1pSxlGyqKX3fipMgolhCfm/+i1DN2ew/LkGj2RV4 whalec-io@daum.net
The key's randomart image is:
+--[ED25519 256]--+
|                 |
|                 |
|                 |
|.                |
| o .    S E      |
|. o. . ++o       |
|. ooX B+Bo.      |
|.Bo*oXoX+B       |
|=.*+o+*+*oo      |
+----[SHA256]-----+

GitHub 공개키 등록

생성된 공개키를 GitHub에 등록하려면 먼저 공개키를 클립보드에 복사해야 합니다. 아래 명령어를 사용하여 복사할 수 있습니다.

# macOS
pbcopy < ~/.ssh/id_ed25519.pub

# Windows
clip < ~/.ssh/id_ed25519.pub

그 후 GitHub에 로그인하여, 우측 상단의 프로필 아이콘을 클릭하고 Settings > SSH and GPG keys로 이동합니다. New SSH key 버튼을 눌러 새 키를 추가합니다. Title에는 키를 구분할 수 있는 이름을, Key에는 복사한 공개키를 붙여넣기 하면 됩니다.

SSH 인증을 위한 공개키 입력 - GitHub

GitHub에 공개키를 등록을 완료했습니다.

SSH 접속 설정

이제 명시적으로 SSH 접속 설정을 해보겠습니다. ~./ssh/config 파일에 아래 내용을 추가해주세요. 만약 파일이 없으면 파일을 생성합니다.

Host github.com
  IdentityFile ~/.ssh/id_ed25519
  User git

SSH 인증

이제 GitHub 저장소에 SSH로 접근할 수 있습니다. 소스 코드를 업로드 하거나 private repository에 접근할 수 있습니다.

private repository를 복제해보겠습니다. 저장소 SSH 주소를 복사한 후 아래 명령어로 클론합니다.

git clone git@github.com:bigsprout/bts-api-server.git
실행 결과
Cloning into 'bts-api-server'...
Enter passphrase for key '/Users/eden/.ssh/id_ed25519':
remote: Enumerating objects: 993, done.
remote: Counting objects: 100% (397/397), done.
remote: Compressing objects: 100% (295/295), done.
remote: Total 993 (delta 190), reused 253 (delta 94), pack-reused 596
Receiving objects: 100% (993/993), 316.11 KiB | 614.00 KiB/s, done.
Resolving deltas: 100% (530/530), done.

저장소 복제 과정에서 개인키의 패스워드를 입력해야 하는데, 이는 키를 생성할 때 설정한 패스워드를 입력하면 됩니다. 인증이 완료되면 정상적으로 저장소가 복제됩니다.

이제 SSH 인증으로 GitHub을 사용할 수 있습니다.

SSH Agent에 키 등록(개인키 패스워드 입력 생략)

매번 git clone이나 git push를 할 때 개인키 패스워드를 입력하는 과정이 번거로울 수 있습니다. 이를 생략하려면 SSH Agent에 키를 등록하면 됩니다.

먼저 SSH Agent가 실행 중인지 확인합니다.

ssh-add -l

위와 같이 명령어 입력했는데 Error connecting to agent: Connection refused 오류가 발생할 경우 ssh-agent가 실행되어 있지 않은 상태입니다. 이 경우 ssh-agent를 실행합니다.

# ssh-agent 실행
eval "$(ssh-agent -s)"

만약 The agent has no identities. 와 오류가 발생한다면 ssh 키가 등록되지 않아서 발생하는 문제로 키를 등록하면됩니다.

# ssh 키 등록
ssh-add ~/.ssh/id_ed25519
실행 결과
Enter passphrase for /Users/eden/.ssh/id_ed25519:
Identity added: /Users/eden/.ssh/id_ed25519 (whalec-io@daum.net)

개인키 생성할 때 입력한 패스워드를 입력하면 ssh-agent에 SSH 키를 정상적으로 등록할 수 있습니다.

이제 패스워드 입력 없이 git을 사용할 수 있습니다.

]]>
https://studioys.me/ssh-authentication-methods-for-using-github/feed/ 0
Git 저장소 – Git Repository https://studioys.me/git-%ec%a0%80%ec%9e%a5%ec%86%8c-repository/ https://studioys.me/git-%ec%a0%80%ec%9e%a5%ec%86%8c-repository/#respond Sat, 07 Sep 2024 14:44:14 +0000 https://studioys.me/?p=246 더 보기Git 저장소 – Git Repository]]> Git 저장소는 코드 및 파일의 변경 내역을 저장하고 관리하는 일종의 데이터베이스입니다. 이를 통해 개발자들은 코드의 변화를 추적하고, 협업할 수 있으며, 여러 버전의 파일을 관리할 수 있습니다. 이번 포스팅에서 Git 저장소에 대해서 자세히 알아보도록 하겠습니다.

Git 저장소

Git 저장소는 코드 및 파일의 변경 내역을 저장하여 개발자들이 코드를 추적하고 코드의 변화를 확인할 수 있으며 여러 버전을 관리할 수 있는 한 일종의 저장소로 저장소 위치에 따라서 로컬 저장소원격 저장소로 나눌 수 있습니다.

로컬 저장소는 개발자 컴퓨터에 저장된 저장소로 프로젝트 폴더 하위에 .git 폴더에 위치합니다. 주로 개인이 작업하기 위한 용도로 사용됩니다.

.git 폴더
Git 로컬 저장소 위치 및 폴더 내용

원격 저장소는 GitHub, GitLab 등과 같이 원격 서버에 존재하는 저장소로 여러 개발자가 협업할 때 주로 사용됩니다.

만약 PC 한 대에서 작업하고 프로젝트 공유가 필요 없다면 원격 저장소 없이 로컬 저장소로만 관리해도 무방합니다. ( .git 폴더만 삭제하지 않으면… )

로컬 저장소와 원격 저장소 개념
로컬 저장소와 원격 저장소

일반적으로 위 그림과 같이 원격 저장소에 있는 프로젝트를 여러 사람에 게 공유할 수 있습니다.

사용자는 원격 저장소에 있는 파일을 로컬 저장소로 복사하여 사용할 수 있습니다. 그리고 파일을 변경하여 변경 사항이 발생할 경우 그 내용을 원격 저장소에 업로드하여 관리합니다.

Git 변경 파일 흐름도
Git 변경 파일 흐름도

위 그림과 같이 파일 추가, 삭제 또는 수정 된 경우 그 내용을 원격 저장소에 바로 반영할 수 없습니다. 반드시 로컬 저장소에 그 내용을 저장하고 로컬 저장소에서 원격 저장소로 그 내용을 저장할 수 있습니다.

이 개념이 Git에서 말하는 분산의 개념으로 저장소를 로컬 저장소와 원격 저장소로 분리하여 관리하는 것을 말합니다.

저장소 생성

로컬 저장소는 git init 명령을 사용하여 생성할 수 있고, 원격 저장소는 GitHub, GitLab 등에서 직접 생성할 수 있습니다.

다음 포스트를 통해서 로컬 저장소를 생성하고 원격 저장소에 파일을 업로드 할 수 있습니다.

]]>
https://studioys.me/git-%ec%a0%80%ec%9e%a5%ec%86%8c-repository/feed/ 0
Git 환경 설정 – git config https://studioys.me/how-to-set-up-your-git-environment/ https://studioys.me/how-to-set-up-your-git-environment/#respond Fri, 06 Sep 2024 13:52:28 +0000 https://studioys.me/?p=233 더 보기Git 환경 설정 – git config]]> Git 설치 후, 프로젝트를 효과적으로 관리하고, 협업을 원활하게 하기 위해 Git 환경 설정이 필요합니다. 이번 포스팅에서는 기본적으로 설정해야 하는 환경 설정 및 설정 방법에 대해서 알아보도록 하겠습니다.

Git 설치

Git 설치는 크게 Windows 버전과 macOS 버전으로 나눌 수 있습니다.
만약 Git이 설치되어 있지 않다면 다음 포스트를 참고하여 Git을 먼저 설치해주세요.

Git 환경 설정

윈도우에서 Git 설치할 때 설치 과정에서 환경 설정을 할 수 있기 때문에 설정을 변경하는 경우가 크게 없습니다. 반면 macOS는 설치 과정에서 환경 설정을 할 수 없기에 설치가 끝나고 환경 설정을 해야 하는 경우가 많이 존재합니다.

Git 환경 설정은 git config 명령을 통해 설정할 수 있으며, 설정한 내용은 Git을 업그레이드 해도 그대로 유지됩니다.

환경 설정 범위

환경 설정은 적용 범위에 따라 전역 설정지역 설정으로 구분할 수 있습니다. 전역 설정은 Git 전체적으로 적용되는 설정이고 로컬 설정은 프로젝트 단위로 적용할 수 있습니다.

만약 전역 설정과 지역 설정이 동일하게 설정된 경우 지역 설정을 적용합니다.

항목global 설정local 설정
적용 범위모든 저장소에 적용현재 프로젝트에 적용
파일 위치~/.gitconfig.git/config

사용자 정보

Git 설치 후 가장 먼저 설정해야 하는 정보로 사용자 이름과 이메일 주소를 설정해야 합니다. 사용자 이름과 이메일 주소는 Git 커밋(git commit) 시 사용자 정보로 사용됩니다.

간혹, 이메일 주소를 GitHub의 계정 정보와 혼동하는 경우가 있는데 해당 값은 GitHub의 계정 정보와 상관없습니다.

다음 명령어를 통해 전역 설정을 할 수 있습니다.

# global option - 모든 저장소에 적용
git config --global user.name "Your Name"
git config --global user.email "youremail@example.com"

현재 프로젝트에서 다른 이름을 사용하고 싶다면 --global 옵션을 빼고 적용하면 됩니다.

# local option - 현재 저장소에 적용
git config user.name "Your Name"
git config user.email "youremail@example.com"

사용자 정보는 아래와 같이 git commit 시 자동으로 기록됩니다.

git show 1a9d169ea
실행 결과
commit 1a9d196ea25783dad505fd0dba64fff78d9a32dd
Author: StudioYS <project@studioys.me>
Date:   Sat Aug 31 17:16:56 2024 +0900

편집기

Git에서 기본으로 사용하는 텍스트 편집기를 설정할 수 있습니다. 예를 들어, Vim 대신 VS Code를 사용하고 싶다면 다음 명령어를 통해 설정할 수 있습니다.

git config --global core.editor "code --wait"

이 설정은 커밋 메시지를 작성하거나 Git 설정을 편집할 때 적용됩니다.

기본 브랜치 이름 설정

Git의 기본 브랜치 이름은 master였으나, 최근에는 main을 사용하는 것이 일반적입니다. 이를 변경하려면 다음 명령어를 사용합니다.

git config --global init.defaultBranch main

파일 비교 도구 설정

Git에서 충돌을 해결하거나 변경사항을 비교할 때 사용하는 도구를 설정할 수 있습니다. 일반적으로 diff 또는 merge 도구를 설정할 수 있습니다.

git config --global merge.tool "도구 이름"
git config --global diff.tool "도구 이름"

# 예시
git config --global merge.tool vimdiff
git config --global diff.tool vimdiff

전역 .gitignore 설정

특정 파일 또는 디렉토리를 Git에서 무시하도록 설정하려면 .gitignore 파일을 사용합니다. 이를 전역적으로 설정하고 싶다면 다음과 같이 설정할 수 있습니다.

# 예시
git config --global core.excludesfile "경로"
git config --global core.excludesfile ~/.gitignore_global

~/.gitignore_global 파일을 생성한 후 무시할 패턴을 추가합니다. 예를 들어 다음과 같이 추가할 수 있습니다.

# 백업 파일 무시
*.bak

# 임시 파일 무시
*.tmp

# macOS 시스템 파일 무시
.DS_Store

자주 사용하는 기타 설정

다음은 설정하면 유요한 기타 설정입니다.

자동 색상 설정

Git 명령어 출력에 색상을 추가하여 가독성을 높입니다

git config --global color.ui auto

자격 증명 캐싱

HTTPS를 사용할 때 자격 증명을 캐시하여 비밀번호 입력을 줄일 수 있습니다.

git config --global credential.helper cache

설정 확인 및 관리

Git 설정을 확인하려면 git config --list 명령어를 사용합니다.

git config --list

특정 설정만 확인하려면 다음과 같이 git config 변수 명령어을 사용합니다.

git config user.name

특정 항목을 삭제하려면 다음과 같이 git config --unset 변수 명령어를 사용합니다.

git config --global --unset user.name

마치며

Git 환경 설정에 대해 알아보았습니다. 각 설정은 필요에 따라 세부적으로 수정 가능하며, 프로젝트에 맞게 최적화 할 수 있습니다. 또한 Git 설정 옵션은 매우 다양하므로, 필요에 따라 추가 설정을 확인하고 사용해 보세요.

참고 자료

]]>
https://studioys.me/how-to-set-up-your-git-environment/feed/ 0
맥북 Git 설치하기 https://studioys.me/how-to-install-git-on-a-macbook/ https://studioys.me/how-to-install-git-on-a-macbook/#respond Fri, 06 Sep 2024 12:29:13 +0000 https://studioys.me/?p=218 더 보기맥북 Git 설치하기]]> 맥북에는 기본적으로 Apple Git이 설치되어 있습니다. Apple Git은 공식 Git과 큰 차이는 없지만 공식 Git에 비해 업데이트가 느리기 때문에 공식 Git을 설치하여 사용합니다.

이번 포스팅에서는 맥북 Git 설치 방법에 대해서 알아보도록 하겠습니다.

맥북 Git 설치하기

Git 다운로드 페이지에 가면 Homebrew를 사용하여 설치하는 것을 가이드 하고 있습니다.

맥북 Git 설치 - 다운로드 페이지

Homebrew 설치

만약 Homebrew 설치가 안되어 있다면 Homebrew를 먼저 설치해야 합니다.

만약 Homebrew가 설치 안되어 있으면 다음 포스트를 참고하여 Homebrew를 설치해주세요
Homebrew 설치 및 사용 방법 – Studio YS

Git 설치

터미널 실행 후 아래와 같이 brew를 통해서 Git을 설치하겠습니다.


brew install git

Git 링크 변경

Git이 정상적으로 설치되어도 여전히 Apple Git을 사용하고 있습니다.

git --version
git version 2.39.3 (Apple Git-146)
실행 결과

brew를 통해서 설치한 Git을 사용하려면 Git에 링크를 걸어줘야 합니다.

brew link --overwrite git
Warning: Already linked: /opt/homebrew/Cellar/git/2.46.0
To relink, run:
  brew unlink git && brew link git
실행 결과

PATH를 추가하고 반영합니다.

export PATH="/opt/homebrew/Cellar/git/2.46.0/bin:${PATH}"
source ~/.zshrc

이제 최신 버전 Git을 사용할 수 있습니다.

git --version
git version 2.46.0
실행 결과

Git 언어 변경

macOS에서 brew로 Git을 설치하면 기본 언어가 한글로 되어 있습니다. Git에서 한글로 나오는 이유는 LANG 환경 변수가 ko_KR.UTF-8로 설정돼있기 때문입니다.

git 한글
echo $LANG
ko_KR.UTF-8
실행 결과

저는 영문 Git을 계속 써서 그런지 한글이 어색해서 영문으로 언어를 변경해보겠습니다. Git에서 사용하는 LANG 환경 변수를 영어로 변경하면 됩니다.

  1. .zshrc 파일을 열고 맨 아래 alias git="LANG=en_GB git" 추가
  2. source ~/.zshrc 명령으로 설정 업데이트
  3. git 사용

이제 영문으로 변경된 것을 확인할 수 있습니다.

git 영문

Git 환경 설정

Git 설치가 완료되었습니다. 프로젝트를 효과적으로 관리하고, 협업을 원활하게 하기 위해 Git 환경 설정이 필요합니다. 특히 맥북의 경우는 설치 과정에서 환경 설정을 할 수 없기에 환경 설정을 해야 합니다.

다음 포스트를 참고하여 Git 환경 설정을 할 수 있습니다.
Git 환경 설정 ( git config ) – Studio YS

마치며

맥북에 Git 설치를 완료했습니다. Git은 프로젝트를 효과적으로 관리하기 위한 필수 프로그램으로 Git에서 제공하는 다양한 기능을 활용할 수 있으면 좋겠습니다.

]]>
https://studioys.me/how-to-install-git-on-a-macbook/feed/ 0
Git 설치하기 ( Windows ) https://studioys.me/how-to-install-git-on-windows/ https://studioys.me/how-to-install-git-on-windows/#respond Fri, 06 Sep 2024 11:30:34 +0000 https://studioys.me/?p=196 더 보기Git 설치하기 ( Windows )]]> 윈도우에서 Git 설치는 그리 어렵지 않습니다. 옵션 변경없이 그냥 설치해도 사용하는 데 큰 문제는 없습니다. 다만 설치 과정에서 각 옵션을 이해하고 설치하는 것이 Git을 더 효율적으로 사용하는 데 도움이 되기 때문에 Git 설치 과정을 단계별로 정리해보겠습니다.

Git 다운로드 하기

Git 다운로드 페이지 접속 후 운영체제에 맞는 설치 프로그램을 다운로드 합니다.

Git 설치 - 다운로드 페이지

Git 설치하기

설치 파일을 실행하면 Git 설치 마법사가 시작됩니다. 여기서부터 각 옵션에 대해 설명하겠습니다.

1. 약관 동의 화면

약관 동의 화면으로 약관에 동의해야 설치할 수 있습니다.

약관 동의 화면

2. 설치 경로 지정 화면

Git 설치 경로를 지정할 수 있습니다. 기본 경로로 C:\Program Files\Git 폴더가 지정됩니다.
원한다면 다른 경로를 선택할 수 있는데 대부분 기본 경로로 설치합니다.

설치 경로 선택

3. 컴포넌트 선택 화면

설치할 컴포넌트를 선택할 수 있는 화면입니다. 보통 초기 제공 값을 그대로 사용합니다.

컴포넌트 선택
옵션설명
On the Desktop바탕화면에 바로가기 아이콘 생성
Git Bash Here탐색기 Context Menu에 Git Bash Here 추가
Git GUI Here탐색기 Conext Menu에 Git GUI Here 추가
Git LFS (Large File Support)대용량 파일 지원
Associate .git* configuration files with the default text editorgit 환경 파일을 기본 텍스트 편집기에 연결
Associate .sh files to be run with Bashsh 파일을 Bash와 연결
Check daily for git for Windows updates매일 새로운 업데이트 여부 확인
(NEW!) Add a Git Bash Profile to Windows Terminal윈도우 기본 터미널에 Git Bash 프로파일 추가
(NEW!) Scalar (Git add on to manage large scale repositories)Scalar 지원 ( 대규모 리포지토리 관리 )

4. 시작 메뉴 구성

시작 메뉴에 Git 바로가기를 생성할 것인지 선택합니다. 원하는 시작 메뉴 이름을 지정하면 됩니다. 보통 기본값을 사용해도 됩니다.

만약 시작 메뉴를 만들지 않으려면 하단에 [Don’ create a Start Menu folder] 를 체크 합니다.

시작 메뉴 바로가기 생성 여부

5. 기본 편집기 선택

Git에서 사용할 텍스트 편집기를 선택할 수 있습니다. 기본적으로 Vim이 선택되어 있지만, 다른 편집기를 사용하고 싶다면 목록에서 선택할 수 있습니다.

VSCode 또는 Notepad++ 같은 편리한 GUI 기반 편집기를 사용하는 것이 좋습니다.

텍스트 편집기 선택

6. 기본 branch 이름 설정

저장소 초기화(생성)시 기본으로 설정되는 branch 이름을 설정할 수 있습니다.

과거 형상 관리 솔루션에서 기본 branch 이름을 master로 사용하고 있었습니다. 하지만 master/slave가가 갖는 여러 의미로 인하여 GitHub, GitLab 등에서 기본 branch 이름을 main으로 변경하였습니다. 따라서 기본 branch 이름을 main으로 설정하는 것을 권장합니다.

기본 branch 이름 설정

각 항목의 자세한 설명은 다음과 같습니다.

옵션설명
Let Git decideGit에서는 master 기본값으로 사용하는데, 이 규칙을 그대로 적용합니다.
Override the default branch name for new repositories입력한 이름을 사용합니다. ( 회사 또는 그룹 내 규칙이 있을 사용하면 됩니다. )

7. 환경 변수 설정

Git 환경 변수를 설정 할 수 있습니다.

Git 환경 변수 설정

각 항목의 자세한 설명은 다음과 같습니다.

옵션설명
Use Git from Git Bash onlyGit Bash에서만 Git 명령을 사용할 수 있습니다.
Git from the command line and also from 3rd-party softwareGit을 환경 변수에 등록하여, Git 명령을 Git Bash, cmd, PowerShell 등에서 사용할 수 있습니다.
Use Git and optional Unix tools from the Command Promptcmd에서 Git 이외 여러 가지 Unix 툴을 사용할 수 있도록 합니다.
이 경우 Windows 기본 도구가 변경되기 때문에 주의가 필요합니다.

8. SSH 실행 도구 선택

SSH 실행 도구를 설정할 수 있습니다.

SSH 실행 도구 선택

각 항목의 자세한 설명은 다음과 같습니다.

옵션설명
Use bundled OpenSSHGit에서 기본으로 제공하는 OpenSSH를 사용합니다.
Use external OpenSSH외부 OpenSSH를 사용합니다.
이 경우 Git에서 기본으로 제공하는 OpenSSH는 설치하지 않으며, PATH에 명시된 OpenSSH를 사용합니다.

9. HTTPS 전송 시 인증서 선택

HTTPS 인증서를 선택할 수 있습니다.

HTTPS 전송 시 인증서 선택

각 항목의 자세한 설명은 다음과 같습니다.

옵션설명
Use the OpenSSL libraryOpenSSL 라이브러리를 사용합니다.
Use the native Windows Secure Channel libraryWindows 인증서 저장소를 사용합니다.
이 경우 Active Directory 도메인 서비스를 통한 회사의 내부 Root CA 인증서를 사용할 수 있습니다.

10. 줄 바꿈 옵션 설정

줄 바꿈Line Ending 변환 방식을 설정할 수 있습니다.

윈도우에서는 줄 바꿈 문자를 CRLF를 사용하고, 리눅스나 맥에서는 LF를 사용하기 때문에 윈도우에서 만든 파일을 맥에서 열고 저장할 경우 줄 바꿈 문자도 변경된 것으로 인식할 수 있으므로 줄 바꿈 문자에 대해서 변환 작업을 수행합니다.

줄 바꿈 옵션 설정

각 항목의 자세한 설명은 다음과 같습니다.

옵션설명
Checkout Windows-style, commit Unix-style line endings체크아웃할 때는 윈도우 스타일, 커밋할 때는 유닉스 스타일 적용합니다.
Checkout as-is, commit Unix-style line endings체크아웃할 때는 스타일 변환을 하지 않고, 커밋할 때만 유닉스 스타일 적용합니다.
Checkout as-is, commit as-is스타일 변환을 하지 않습니다.

11. Git Bash 에뮬레이터 선택

Git Bash 터미널 에뮬레이터를 선택할 수 있습니다.

Git Bash 에뮬레이터 선택

각 항목의 자세한 설명은 다음과 같습니다.

옵션설명
Use MinTTY (the default terminal of MSYS2)Git Bash 기본 터미널 에뮬레이터(MinTTY)를 사용합니다.
Use Windows’ default console window윈도우 기본 콘솔(cmd)을 사용합니다.

12. git pull 동작 설정

git pull 동작을 설정합니다. git에 익숙하신 분이라면 원하는 옵션을 설정해도 되는데 초보자라면 기본값을 선택하는 것을 추천합니다.

git pull 동작 설정

각 항목의 자세한 설명은 다음과 같습니다.

옵션설명
Default (fast-forward or merge)기본으로 설정합니다
Rebase현재 분기를 불러온 분기에 재배치합니다.
Only ever fast-forward불러온 분기로 빠르게 넘어갑니다. 명령어 수행에 실패할 가능성이 있습니다.

13. 자격 증명 도우미 설정

자격 증명 도우미 설정 할 수 있습니다.

자격 증명 도우미 설정

각 항목의 자세한 설명은 다음과 같습니다.

옵션설명
Git Credential Manager자격 증명 도우미로 Git Credential Manager을 사용합니다.
None자격 증명 도우미를 사용하지 않습니다.

14. 기타 설정

기타 옵션을 설정할 수 있습니다.

기타 설정

각 항목의 자세한 설명은 다음과 같습니다.

옵션설명
Enable file system caching파일 시스템 캐싱을 활성화합니다. 수행 속도를 더 빠르게 해줍니다.
Enable symbolic links심볼릭 링크를 활성화합니다. (SeCreateSymbolicLink 권한이 필요합니다.)
기존 리포지토리에는 이 설정이 적용되지 않습니다.

15. 실험적 기능 설정

실험적 기능에 대한 설정을 할 수 있습니다.

실험적 기능 설정

각 항목의 자세한 설명은 다음과 같습니다.

옵션설명
Enable experimental support for pseudo consoleswinpty를 사용하지 않고 Git Bash에서 Node나 Python과 같은 네이티브 콘솔 프로그램을 실행할 수 있게 합니다.
그러나 몇 가지 버그가 있습니다.

16. 설치 진행

이제 설치를 진행합니다.

설치 진행

17. 설치 완료

Finish 버튼을 눌러 설치를 완료합니다.

설치 완료

Git 설치 확인

설치가 정상적으로 되었는지 확인해보겠습니다.

시작 메뉴에서 [Git Bash]를 실행하고, 아래와 같이 git –version 명령어 입력하여 버전 정보를 확인합니다. 버전 정보가 표시되면 정상적으로 설치된 것입니다.

$ git --version
git version 2.46.0.windows.1
Zsh

Git 환경 설정

Git 설치가 완료되었습니다. 프로젝트를 효과적으로 관리하고, 협업을 원활하게 하기 위해 Git 환경 설정이 필요합니다.

다음 포스트를 참고하여 Git 환경 설정을 할 수 있습니다.
Git 환경 설정 ( git config ) – Studio YS

마치며

윈도우에 Git 설치를 완료했습니다. Git은 프로젝트를 효과적으로 관리하기 위한 필수 프로그램으로 Git에서 제공하는 다양한 기능을 활용할 수 있으면 좋겠습니다.

]]>
https://studioys.me/how-to-install-git-on-windows/feed/ 0
Git 개념 및 원리 이해하기 https://studioys.me/understanding-git-concepts-and-principles/ https://studioys.me/understanding-git-concepts-and-principles/#respond Wed, 04 Sep 2024 15:08:52 +0000 https://studioys.me/?p=112 더 보기Git 개념 및 원리 이해하기]]> Git은 빠르고 효율적인 버전 관리 시스템(Version Control System, VCS)으로, 소프트웨어 개발에 있어 필수적인 도구입니다. Git을 제대로 활용하려면 Git 개념과 원리를 이해하는 것이 중요합니다. 그래서 첫 번째 글에서는 Git 개념원리에 대해서 자세히 알아보도록 하겠습니다.

Git 소개

Git 공식 홈페이지에서는 Git을 다음과 같이 설명하고 있습니다.

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

Git은 분산된 버전 관리 시스템입니다. 여기서 분산의 의미는 하나의 원격 저장소(remote repository)를 사용하여 버전을 관리하는 것이 아니라 원격 저장소와 로컬 저장소(local repository)를 함께 사용하여 버전을 관리하는 방식을 의미합니다.

이 방식으로 Git은 다른 형상 관리에 비해 속도가 빠르고, 장애 복구에 유리하며 협업 작업에 적합합니다.

버전 관리란?

문서 작업 시 혹시 모를 사태를 대비해 아래 그림과 같이 날짜 또는 버전 등 시점에 따라서 파일을 백업하고 저장한 경험이 있을 것입니다. 이와 같이 사용자가 원하는 시점에 파일을 기록하고 원하는 버전으로 복원할 수 있게 하는 것을 버전 관리라고 하고, 이를 편리하게 관리해주는 시스템을 버전 관리 시스템이라고 합니다.

즉, 버전 관리는 파일의 변경 이력을 기록하고 원하는 시점으로 되돌릴 수 있는 시스템이라고 할 수 있습니다.

버전 관리 예시 이미지
이것도 버전 관리 방법 중 하나

일반적으로 버전 관리 시스템의 주요 기능은 다음과 같습니다.

  • 변경 기록 : 파일 추가, 수정, 삭제 등의 변경 이력을 저장합니다.
  • 변경 내용 비교 : 이전 버전과 비교해 어떤 부분이 수정되었는지 확인할 수 있습니다.
  • 복원 : 특정 시점의 버전으로 파일을 되돌릴 수 있습니다.
  • 변경 사유 기록 : 변경 이유를 저장해 추후 추적 및 협업이 용이합니다.

Git 원리

Git 버전 관리 이해하기

Git은 스냅샷(Snapshot) 개념을 사용해 파일의 상태를 저장합니다. 각 스냅샷은 고유한 해시값으로 구분되며, 변경된 데이터만 기록해 효율성을 극대화 합니다.

위 내용을 그림을 통해 간단하게 알아보겠습니다.

사용자가 작업 폴더에 흰색 배경 원을 그립니다. 작업 폴더에 흰색 배경의 원을 그렸을 뿐 아직 저장소에 기록하지 않았기에 저장소에는 아무것도 없습니다.

흰색 배경 원을 저장소에 기록합니다.

기존 흰색 배경 원을 파란색 배경 원으로 변경하고 저장소에 기록합니다. 그리고 파란색 배경 원을 녹색 배경 원으로 변경하고 저장소에 기록합니다.

기록한 순서대로 흰색 배경 원, 파란색 배경 원, 녹색 배경 원으로 저장됩니다.

각 노드는 내부적으로 고유한 해쉬 값을 가지고 있으며, 기록한 순서를 보장하기 위해 부모 노드를 지정하여 관리합니다.

이렇게 여러 노드가 저장소에 존재하게 되며 사용자는 원하는 노드를 선택하여 해당 버전으로 파일을 변경합니다.

만약 파란색 배경 원으로 작업 폴더를 변경하고 싶다면 D9CAF 노드를 참조하여 다시 가져오면 됩니다.

파란색 배경 원으로 변경한 상태에서 파란색 배경 원을 빨간색 배경 원으로 변경하고 저장소에 기록하면 기존 녹색 원을 없애고 새롭게 빨간 배경 원을 생성하거나 녹색 배경 원을 그대로 두고 빨간색 배경 원을 생성할 수 있습니다.

Git을 사용하는 이유

Git을 사용하는 이유는 동일한 프로젝트에서 여러 개발자들이 협업하기 매우 편하기 때문입니다. 버전 관리 기능을 포함하여 Git의 대표적인 기능은 다음과 같습니다.

  • (동시성) 소스 코드를 주고 받을 필요 없이 여러 개발자들이 동시에 개발 가능함
  • (가역성) 언제든 이전 코드로 되돌릴 수 있음
  • (기록성) 이전 코드의 내용과 사유가 저장되어 오류 추적이 용이함

또한, 단순하게 버전 관리 기능을 제공하는 것 뿐만 아니라 여러 개발자들이 동시에 작업하다가 충돌이 발생할 경우 손쉽게 해결할 수 있는 기능을 제공합니다.

예를 들어서 원격 저장소에 있는 흰색 배경 원을 두 사람이 각각 가져왔다고 가정해보겠습니다.

윤슬이는 파란색 배경 원으로 변경하고, 나린이는 녹색 배경 원으로 변경했습니다. 그리고 윤슬이가 원격 저장소에 기록하고, 뒤 이어 나린이가 원격 저장소에 기록하면 문제가 발생합니다.

Git 주요 흐름

내 작업 공간에서 변경된 파일을 원격 저장소까지 올리는 일반적인 과정은 다음과 같습니다.

  1. 작업 파일 변경 : 사용자가 작업 디렉토리에서 파일을 수정합니다.
  2. 스테이징 영역에 추가 : 변경된 파일을 스테이징 영역에 저장합니다. ( git add )
  3. 커밋 : 변경 내용을 확정하고 로컬 저장소에 저장합니다. ( git commit )
  4. 원격 저장소에 동기화 : 변경 사항을 원격 저장소에 업로드합니다. ( git push )
Git 개념 - 주요 흐름

위 그림과 같이 Git은 변경된 파일을 바로 원격 저장소로 업로드 하지 않습니다. 이것이 다른 형상 관리 프로그램과 가장 큰 차이점 입니다.

작업 공간에서는 변경된 파일을 스테이징 영역(Staging Area)에서 관리합니다. 스테이징 영역에 있는 파일은 자유롭게 추가/삭제할 수 있으며, 사용자가 커밋 할 경우 스테이징 영역에 있는 파일이 로컬 저장소에 저장됩니다. 그리고 원격 저장소(Remote Repository)에 파일을 동기화 할 때는 로컬 저장소에 기록된 내용으로 원격 저장소와 동기화 합니다.

.git 폴더는 Git의 핵심 파일과 메타데이터를 포함하고 있습니다. 이 폴더가 삭제되면 Git 프로젝트가 일반 작업 디렉토리로 전환되니 주의하세요.

Git 호스팅 웹 서비스

Git 저장소를 제공하는 웹 서비스입니다. 다양한 제공 업체가 존재하고 있으나 대부분 GitHub 및 GitLab을 사용하고 있습니다.

GitHub

  • 특징: 세계 최대 규모의 Git 저장소로, 개인 및 팀 개발자가 널리 사용합니다.
  • 장점: 무료 저장소 제공, 다양한 협업 도구와 통합 가능.

GitLab

  • 특징: 클라우드 기반뿐만 아니라 자체 서버에 설치해 사용할 수 있어 기업 환경에 적합합니다.
  • 장점: DevOps 기능 내장, CI/CD(지속적 통합/배포) 도구와 통합 지원.

마치며

Git은 단순한 버전 관리 도구를 넘어 소프트웨어 개발의 핵심 도구로 자리 잡았습니다.

Git 개념 및 Git 원리를 이해하고 다양한 기능을 활용하면 프로젝트 관리와 협업이 훨씬 수월해집니다. 앞으로 Git에서 제공하는 다양한 기능을 활용할 수 있으면 좋겠습니다.

참고 자료 및 관련 사이트

]]>
https://studioys.me/understanding-git-concepts-and-principles/feed/ 0