본 글은 AI 기반 데이터와 공개 정보를 바탕으로 작성되었습니다. 투자 판단은 각자의 책임이며, 실제 투자 전 반드시 공식 공시자료와 전문가의 조언을 참고하시기 바랍니다. AI가 제공하는 정보는 참고용일 뿐, 투자 손실에 대한 책임을 지지 않습니다.

각 표에는 코스피/코스닥 구분, 배당성향, 배당주기, 배당률, 2025년 7월 9일 주가, 직전 4회 배당금 정보를 포함했습니다.

1. 일반종목

1-1. 일반 개별주 (코스피/코스닥)

월배당
  • 국내 상장 개별주 중 월배당을 실시하는 종목은 현재 없습니다.
분기배당 상위 20종목
순위 종목명 시장 배당성향(%) 배당주기 배당률(%) 7/9 주가(원) 직전 4회 배당금(원)
1 현대자동차1우 코스피 약 35 분기 11.4 약 126,800 14,450, 14,450, 14,450, 14,450
2 한샘 코스피 약 80 분기 15.0 약 56,900 8,530, 8,530, 8,530, 8,530
3 이크레더블 코스닥 약 60 분기 11.8 약 13,500 1,590, 1,590, 1,590, 1,590
4 서호전기 코스닥 약 55 분기 11.5 약 21,700 2,500, 2,500, 2,500, 2,500
5 스톰테크 코스닥 약 45 분기 10.9 약 5,400 590, 590, 590, 590
6 현대엘리베이터 코스피 약 40 분기 10.0 약 55,000 5,500, 5,500, 5,500, 5,500
7 영보화학 코스닥 약 35 분기 9.7 약 3,600 350, 350, 350, 350
8 노바텍 코스닥 약 50 분기 9.1 약 15,500 1,409, 1,409, 1,409, 1,409
9 오상자이엘 코스닥 약 45 분기 8.9 약 3,400 300, 300, 300, 300
10 핸즈코퍼레이션1우 코스피 약 35 분기 8.8 약 1,850 163, 163, 163, 163
11 코리아에셋투자증권 코스닥 약 40 분기 8.8 약 5,700 500, 500, 500, 500
12 삼성화재해상보험1우 코스피 약 40 분기 8.6 약 186,000 16,005, 16,005, 16,005, 16,005
13 이지홀딩스 코스피 약 35 분기 8.4 약 2,950 250, 250, 250, 250
14 정다운 코스닥 약 40 분기 8.4 약 2,980 250, 250, 250, 250
15 씨유테크 코스닥 약 35 분기 7.9 약 2,900 231, 231, 231, 231
16 유아이엘 코스닥 약 40 분기 7.9 약 5,050 400, 400, 400, 400
17 유화증권1우 코스피 약 35 분기 7.5 약 2,300 170, 170, 170, 170
18 도이치모터스 코스닥 약 40 분기 7.5 약 5,050 380, 380, 380, 380
19 대신증권 코스피 약 36 분기 7.4 약 15,800 1,200, 1,200, 1,200, 1,200
20 한양증권 코스피 약 40 분기 7.4 약 12,800 950, 950, 950, 950
연배당 상위 20종목
순위 종목명 시장 배당성향(%) 배당주기 배당률(%) 7/9 주가(원) 직전 4회 배당금(원)
1 무학 코스피 약 50 8.6 약 6,050 520, 520, 520, 520
2 케이카 코스피 약 45 8.4 약 13,700 1,150, 1,150, 1,150, 1,150
3 대신증권1우 코스피 약 36 8.4 약 14,900 1,250, 1,250, 1,250, 1,250
4 JB금융지주 코스피 약 35 8.4 약 12,500 1,050, 1,050, 1,050, 1,050
5 한국철강 코스피 약 40 8.3 약 9,650 800, 800, 800, 800
6 KISCO홀딩스 코스피 약 40 8.3 약 21,700 1,800, 1,800, 1,800, 1,800
7 하나제약 코스피 약 40 8.2 약 12,400 1,020, 1,020, 1,020, 1,020
8 에이치알에스 코스닥 약 40 8.1 약 4,950 400, 400, 400, 400
9 정상제이엘에스 코스닥 약 40 8.0 약 6,650 530, 530, 530, 530
10 동양생명보험 코스피 약 40 8.0 약 5,000 400, 400, 400, 400
11 한국쉘석유 코스피 약 40 8.0 약 337,500 27,000, 27,000, 27,000, 27,000
12 우리금융지주 코스피 약 35 8.0 약 14,700 1,180, 1,180, 1,180, 1,180
13 씨유테크 코스닥 약 40 8.0 약 2,900 234, 234, 234, 234
14 에스텍 코스닥 약 40 7.9 약 10,700 850, 850, 850, 850
15 유아이엘 코스닥 약 40 7.9 약 5,050 400, 400, 400, 400
16 NH투자증권1우 코스피 약 35 7.8 약 10,900 850, 850, 850, 850
17 삼성카드 코스피 약 50 7.8 약 32,000 2,500, 2,500, 2,500, 2,500
18 하나투어 코스닥 약 40 7.8 약 64,000 5,000, 5,000, 5,000, 5,000
19 KPX홀딩스 코스피 약 40 7.7 약 55,000 4,250, 4,250, 4,250, 4,250
20 BNK금융지주 코스피 약 35 7.6 약 8,050 610, 610, 610, 610

1-2. 리츠 종목 (코스피/코스닥)

월배당
  • 국내 상장 리츠 중 월배당을 실시하는 종목은 현재 없습니다.
분기배당 상위 20종목
순위 종목명 시장 배당성향(%) 배당주기 배당률(%) 7/9 주가(원) 직전 4회 배당금(원)
1 이지스밸류플러스리츠 코스피 약 90 분기 16.6 약 4,960 823, 823, 823, 823
2 엔에이치프라임리츠 코스피 약 80 분기 14.5 약 4,540 658, 658, 658, 658
3 신한알파리츠 코스피 약 80 분기 11.9 약 6,870 817, 817, 817, 817
4 제이알글로벌리츠 코스피 약 85 분기 11.3 약 3,450 390, 390, 390, 390
5 미래에셋맵스제1호리츠 코스피 약 80 분기 9.5 약 2,990 284, 284, 284, 284
6 코람코라이프인프라리츠 코스피 약 85 분기 9.1 약 4,580 417, 417, 417, 417
7 엔에이치올원리츠 코스피 약 80 분기 9.0 약 3,780 340, 340, 340, 340
8 케이비스타리츠 코스피 약 80 분기 8.7 약 4,320 376, 376, 376, 376
9 이리츠코크렙리츠 코스피 약 80 분기 8.0 약 4,520 362, 362, 362, 362
10 미래에셋글로벌리츠 코스피 약 80 분기 7.8 약 3,230 252, 252, 252, 252
11 디앤디플랫폼리츠 코스피 약 80 분기 7.7 약 3,590 277, 277, 277, 277
12 롯데리츠 코스피 약 80 분기 6.5 약 5,400 280, 280, 280, 280
13 케이리츠투자운용 코스피 약 80 분기 6.2 약 5,150 320, 320, 320, 320
14 신한서부티엔디리츠 코스피 약 80 분기 6.1 약 4,900 312, 312, 312, 312
15 에이리츠 코스피 약 80 분기 5.8 약 3,100 180, 180, 180, 180
16 NH올원리츠 코스피 약 80 분기 5.7 약 3,800 210, 210, 210, 210
17 맥쿼리인프라 코스피 약 80 분기 5.6 약 15,200 430, 430, 430, 430
18 SK리츠 코스피 약 80 분기 5.5 약 6,300 350, 350, 350, 350
19 신한글로벌액티브리츠 코스피 약 90 분기 17.5 약 1,450 254, 254, 254, 254
20 ESR켄달스퀘어리츠 코스피 약 80 분기 6.3 약 4,200 330, 330, 330, 330
연배당 상위 20종목
  • 대부분 리츠는 분기배당 구조로 전환되어, 연배당 리츠는 드뭅니다.

2. ETF

2-1. 일반 ETF

월배당 상위 20종목
순위 ETF명 배당성향(%) 배당주기 연환산 분배율(%) 7/9 기준가(원) 직전 4회 분배금(원)
1 Kodex 한국부동산리츠인프라 약 90 7~8 약 10,000 120, 120, 120, 120
2 TIGER 미국배당다우존스 약 90 6~7 약 12,000 110, 110, 110, 110
3 TIGER 미국S&P500배당귀족 약 90 6~7 약 13,000 108, 108, 108, 108
4 ARIRANG 미국월배당커버드콜 약 90 6~7 약 11,000 106, 106, 106, 106
5 KBSTAR 미국월배당커버드콜 약 90 6~7 약 10,800 104, 104, 104, 104
6~20 기타 월배당 ETF (분배율 4~6%) 약 90 4~6 - -
분기배당 상위 20종목
순위 ETF명 배당성향(%) 배당주기 최근 분배율(%) 7/9 기준가(원) 직전 4회 분배금(원)
1 TIGER Fn 고배당 약 90 분기 5.8 약 13,000 190, 190, 190, 190
2 KODEX 고배당 약 90 분기 5.2 약 12,500 170, 170, 170, 170
3 HANARO 고배당 약 90 분기 4.9 약 11,800 160, 160, 160, 160
4 KBSTAR 고배당 50 약 90 분기 4.1 약 10,900 140, 140, 140, 140
5 KODEX 배당성장 약 90 분기 3.9 약 11,200 130, 130, 130, 130
6~20 기타 분기배당 ETF (분배율 3~4%) 약 90 분기 3~4 - -
연배당 상위 20종목
  • 대부분 ETF가 분기/월배당 구조로 전환되어 연배당 ETF는 드뭅니다.

2-2. 커버드콜 ETF

월배당 상위 20종목
순위 ETF명 배당성향(%) 배당주기 연환산 분배율(%) 7/9 기준가(원) 직전 4회 분배금(원)
1 RISE 200위클리커버드콜 약 90 17.5 약 9,380 120, 365, 480, 479
2 KODEX 테슬라커버드콜채권혼합액티브 약 90 16.3 약 8,700 110, 380, 470, 463
3 ACE 미국반도체데일리타겟커버드콜 약 90 16.1 약 10,200 130, 390, 470, 453
4 ACE 미국S&P500데일리타겟커버드콜 약 90 15.9 약 9,800 120, 380, 460, 452
5 TIGER 미국S&P500커버드콜액티브 약 90 15.7 약 9,400 115, 370, 460, 450
6 TIGER 미국나스닥100커버드콜액티브 약 90 15.6 약 10,500 120, 370, 460, 448
7 KODEX 미국나스닥100데일리커버드콜OTM 약 90 15.5 약 9,900 118, 368, 458, 447
8 RISE 미국테크100데일리고정커버드콜 약 90 15.4 약 10,000 117, 367, 457, 446
9 KODEX 미국배당다우존스타겟커버드콜월 약 90 15.2 약 8,800 116, 366, 456, 445
10 TIGER 배당커버드콜액티브월 약 90 15.1 약 8,600 115, 365, 455, 444
11~20 기타 커버드콜 월배당 ETF (분배율 13~15%) 약 90 13~15 - -
분기배당/연배당 커버드콜 ETF
  • 대부분 국내 커버드콜 ETF는 월배당 구조이며, 분기/연배당형은 드뭅니다.

참고 및 유의사항

  • 월배당: 국내 개별주·리츠에는 월배당이 없으며, ETF 및 커버드콜ETF는 월지급 구조가 대세입니다.
  • 분기배당: 리츠, 금융주, 고배당 ETF, 커버드콜ETF가 주로 해당합니다.
  • 연배당: 일부 금융주·제조업 대형주, 전통 고배당주 중심. ETF/리츠는 대부분 분기·월로 전환되었습니다.
  • 배당성향: 최근 정책 변화로 35% 이상 배당성향을 유지하는 기업이 늘고 있습니다.
  • 투자 전 IR공시, 운용사 공식자료 등 확인 필수입니다.

배당금, 배당락, 세금 등 투자 전 반드시 IR공시와 운용사 공식자료를 참고하세요.

Happy GoSu ~

WooGong ))*

\\\\\\\\

반응형

my-project/
├── public/                 # Static files (index.html, favicon, etc.)
├── src/                    # Main source code
│   ├── assets/             # Static resources (images, fonts, styles)
│   │   ├── images/
│   │   ├── icons/
│   │   ├── fonts/
│   │   └── styles/
│   ├── components/         # Reusable UI components
│   │   ├── Button.tsx
│   │   ├── Header.tsx
│   │   └── Footer.tsx
│   ├── pages/              # Page-level components (routing targets)
│   │   ├── Home/
│   │   │   ├── Home.tsx
│   │   │   ├── Home.module.css
│   │   │   └── Home.types.ts
│   │   ├── About/
│   │   └── Contact/
│   ├── store/              # State management (Redux, Zustand, etc.)
│   │   ├── index.ts
│   │   └── slices/
│   │       ├── userSlice.ts
│   │       └── productSlice.ts
│   ├── hooks/              # Custom React hooks
│   │   └── useAuth.ts
│   ├── utils/              # Utility functions
│   │   └── formatDate.ts
│   ├── types/              # Global type definitions
│   │   ├── api/
│   │   ├── models/
│   │   └── common/
│   ├── models/             # Business/domain logic (optional)
│   └── index.tsx           # App entry point
├── tests/                  # Unit/integration tests
├── dist/                   # Build output
├── node_modules/           # Dependencies
├── package.json
├── tsconfig.json
└── README.md

React와 TypeScript 프로젝트에서 폴더 구조를 잘 설계하는 것은 유지보수성과 확장성에 매우 중요합니다.

주요 특징과 이유

  • src/: 모든 소스 코드를 한 곳에 모아 관리합니다.
  • components/: 여러 페이지에서 재사용하는 UI 컴포넌트를 모아둡니다.
  • pages/: 라우팅 단위가 되는 페이지 컴포넌트를 폴더별로 분리해 관리합니다. 각 페이지 내에 컴포넌트, 스타일, 타입 정의를 함께 둬서 모듈화합니다.
  • store/: Redux나 Zustand 같은 상태관리 라이브러리 관련 코드를 모아둡니다. 슬라이스별로 세분화해 관리하기 편리합니다.
  • hooks/: 커스텀 훅을 별도 폴더로 분리해 재사용성을 높입니다.
  • utils/: 날짜 포맷팅, API 호출 함수 등 범용 함수들을 모아둡니다.
  • types/: 전역 타입이나 API 응답 타입, 데이터 모델 타입을 체계적으로 관리합니다.
  • assets/: 이미지, 아이콘, 폰트, CSS/SCSS 등 정적 리소스를 분리해 관리합니다.
  • tests/: 테스트 코드를 별도로 관리해 테스트 유지보수가 쉽도록 합니다.

왜 이렇게 구성할까?

  • 확장성: 프로젝트가 커져도 폴더별 역할이 명확해 유지보수가 쉽습니다.
  • 모듈화: 페이지별, 기능별로 코드를 분리해 협업에 유리합니다.
  • 재사용성: 공통 컴포넌트와 훅을 분리해 중복 코드를 줄입니다.
  • 가독성: 타입 정의와 스타일을 컴포넌트나 페이지 폴더 안에 두어 관련 파일을 한눈에 찾기 쉽습니다.

프로젝트의 규모가 작은경우는?

작은 프로젝트라면 src/ 내에 components/, pages/, utils/ 정도만 두고 시작해도 충분합니다. 프로젝트가 커질수록 위 구조처럼 세분화하는 것이 좋습니다.

필요하면 실제 예시 코드와 함께 폴더별 역할, 네이밍 규칙도 알려드릴 수 있습니다. 궁금한 점 있으면 언제든 질문해 주세요!

요약

  • .tsx 파일은 React 컴포넌트용, .ts 파일은 일반 TS 코드용
  • src/ 폴더 아래에 components/, pages/, store/, hooks/, utils/, types/, assets/ 폴더를 둠
  • 각 폴더는 역할별로 코드와 리소스를 분리해 관리
  • 확장성과 유지보수를 고려한 구조가 중요

 

Happy GoSu ~

WooGong ))*

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

반응형

'Web > React' 카테고리의 다른 글

[React] React for ECommerce Site with Redux 1  (0) 2020.01.30
[Web/React] React info ...  (0) 2020.01.29
[React] npm packages and Database info in blog site  (0) 2019.12.19
[React] React 정리  (0) 2018.02.19

Windows 에서 여러 GitHub 계정을 사용하는 가장 쉬운 방법

개발자라면 여러 GitHub 계정을 사용해야 할 때가 종종 있습니다. 개인 프로젝트를 위한 계정과 회사 업무를 위한 계정을 따로 관리하거나, 오픈소스 기여를 위한 또 다른 계정이 있을 수도 있죠. 하지만 Windows 환경에서 여러 GitHub 계정을 오가는 것은 생각보다 번거롭게 느껴질 수 있습니다. 매번 git config 명령어를 수정하거나 SSH 키를 바꿔주는 것도 여간 귀찮은 일이 아니죠.

오늘은 Windows에서 Git Bash와 Command Prompt (CMD)를 이용해 여러 GitHub 계정을 쉽고 효율적으로 관리하는 방법을 자세히 알아보겠습니다. 계정 등록 과정부터 실제 사용 테스트, 그리고 발생할 수 있는 일반적인 오류 해결 방법까지 함께 살펴보겠습니다.


1단계: SSH 키 생성 및 등록

GitHub는 SSH(Secure Shell)를 이용한 안전한 통신을 권장합니다. 각 GitHub 계정마다 고유한 SSH 키를 생성하고 등록하면, 비밀번호를 매번 입력할 필요 없이 편리하게 인증할 수 있습니다.

1-1. SSH 폴더 생성

SSH 키는 일반적으로 사용자 홈 디렉토리(~) 아래의 .ssh 폴더에 저장됩니다. 이 폴더가 없다면, Git Bash를 열어 다음 명령어로 생성해 주세요.

Bash
 
mkdir -p ~/.ssh

-p 옵션은 부모 디렉토리가 없으면 함께 생성해 주며, 이미 폴더가 존재해도 오류를 발생시키지 않습니다.

(이미지: Git Bash에서 mkdir -p ~/.ssh 명령어를 실행하여 SSH 설정 파일을 위한 디렉토리를 생성하는 화면을 보여줍니다.)

1-2. SSH 키 생성

가장 먼저 할 일은 각 GitHub 계정별로 SSH 키를 생성하는 것입니다. Git Bash를 열고 다음 명령어를 입력하세요.

Bash
 
# ssh-keygen -t rsa -b 4096 -C "your_email@google.com" -f ~/.ssh/id_rsa_yourgoogleaccountname

ssh-keygen -t rsa -b 4096 -C "woogongTest@google.com" -f ~/.ssh/id_rsa_woogongTest
  • -t rsa: RSA 암호화 방식을 사용합니다.
  • -b 4096: 키의 비트 길이를 4096으로 설정하여 보안을 강화합니다.
  • -C "your_email@google.com": 주석을 추가합니다. 해당 SSH 키가 어떤 계정의 것인지 구분하는 데 도움이 됩니다.
  • -f ~/.ssh/id_rsa_yourgoogleaccountname: 키 파일이 저장될 경로와 파일명을 지정합니다. 반드시 계정별로 다른 파일명을 사용해야 합니다. (예: id_rsa_google, id_rsa_yourgoogleaccountname,  id_rsa_apple)

명령어를 실행하면 암호(passphrase)를 입력하라는 메시지가 나옵니다. 보안을 위해 입력하는 것을 권장하지만, 매번 입력하기 번거롭다면 비워둬도 무방합니다. (엔터 두 번)

위 화면은 Git Bash에서 ssh-keygen 명령어를 실행하여 SSH 키를 생성하는 화면. 파일 경로와 이메일 주소를 입력하고 암호를 설정하는 과정을 보여줍니다.

이 과정을 거치면 아래와 같이 파일이 생성됩니다.

이 과정을 각 GitHub 계정마다 반복하여 필요한 만큼의 SSH 키를 생성합니다. 예를 들어, 개인 계정과 회사 계정을 사용한다면 id_rsa_personal과 id_rsa_work 두 개의 키 파일을 생성해야 합니다.

1-3. Windows SSH-Agent 서비스 확인 (선택 사항)

Git Bash에서 SSH Agent를 사용하는 대신, Windows 자체의 SSH-Agent 서비스를 사용할 수도 있습니다. 일반적으로 Git Bash에서 ssh-agent 명령어를 실행하여 Agent를 시작하는 것이 더 유연하지만, 간혹 시스템 전반적으로 이 서비스를 사용하고 있다면 충돌을 피하기 위해 확인해 볼 필요가 있습니다.

PowerShell을 관리자 권한으로 열고 다음 명령어를 입력하여 확인합니다.

PowerShell
 
Get-Service ssh-agent | Select-Object Name, Status, StartType

혹은 CMD에서:

DOS
 
sc qc ssh-agent
  • Running 상태이고 StartType이 **Automatic**으로 되어 있다면, Windows 서비스로 SSH 에이전트가 활성화되어 있는 것입니다. 이 경우, Git Bash에서 eval "$(ssh-agent -s)" 명령어를 실행하면 충돌이 발생하거나 예상치 못한 동작을 할 수 있습니다. 이 가이드에서는 Git Bash의 SSH 에이전트(eval "$(ssh-agent -s)")를 사용하는 것을 전제로 하므로, Windows ssh-agent 서비스가 실행 중이라면 잠시 중지하거나 Disabled로 설정하는 것을 고려해 보세요. (나중에 다시 Automatic으로 변경 가능합니다.)
    • 서비스 중지: Stop-Service ssh-agent (PowerShell) 또는 net stop ssh-agent (CMD)
    • 시작 유형 비활성화: Set-Service -Name ssh-agent -StartupType Disabled (PowerShell)
  • Stopped 상태이거나 아예 보이지 않는다면, Git Bash의 SSH 에이전트를 사용해도 무방합니다.

대부분의 경우 Git Bash에서 SSH 에이전트를 직접 실행하는 것이 편리합니다. 이 가이드도 Git Bash 에이전트 사용을 기준으로 설명합니다.

1-4. SSH 에이전트 설정

SSH 에이전트는 SSH 키를 메모리에 로드하여 사용할 때마다 암호를 입력할 필요 없이 자동으로 인증해 주는 역할을 합니다.

SSH 에이전트 시작

Bash
 
eval "$(ssh-agent -s)"

생성한 SSH 키 추가

Bash
 
ssh-add ~/.ssh/id_rsa_woogongTest
ssh-add ~/.ssh/id_rsa_personal
ssh-add ~/.ssh/id_rsa_work
# 필요한 만큼 각 계정의 키 파일 경로를 추가합니다.

1-5. SSH 설정 파일 (config) 생성 및 편집

~/.ssh 디렉토리에 config 파일을 생성하여 각 GitHub 계정에 대한 설정을 정의합니다. 이 파일은 Git이 어떤 호스트에 어떤 SSH 키를 사용할지 알려주는 역할을 합니다.

Bash
 
# ~/.ssh/config 파일 생성 또는 편집
Host github.com-woogongTest
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_woogongTest
    IdentitiesOnly yes

Host github.com-personal
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_personal
    IdentitiesOnly yes

Host github.com-work
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_work
    IdentitiesOnly yes
  • Host: Git이 사용할 별칭입니다. 실제 github.com 대신 이 별칭을 사용하여 계정을 구분합니다. 이 별칭이 가장 중요합니다! (예: github.com-personal,  github.com-work, github.com-work)
  • HostName: 실제 GitHub 호스트 이름 (github.com)입니다.
  • User: Git 사용자입니다. 항상 git으로 설정합니다.
  • IdentityFile: 해당 Host에 사용할 SSH 키 파일의 경로입니다.
  • IdentitiesOnly yes: 이 호스트에 대해 지정된 IdentityFile만 사용하도록 강제합니다.

1-6. GitHub에 SSH 공개 키 등록

이제 생성된 SSH 공개 키(.pub 확장자 파일)를 각 GitHub 계정에 등록해야 합니다.

  1. GitHub 웹사이트에 로그인합니다.
  2. Settings > SSH and GPG keys로 이동합니다.
  3. New SSH key 버튼을 클릭합니다.
  4. Title에 키의 이름을 지정합니다 (예: My Personal Laptop 또는 Work PC).
  5. Key 필드에 .pub 파일의 내용을 복사하여 붙여넣습니다. .pub 파일은 텍스트 편집기(메모장, VS Code 등)로 열 수 있습니다. (예: ~/.ssh/id_rsa_woogongTest.pub 파일 내용)
Bash
 
cat ~/.ssh/id_rsa_woogongTest.pub

Tip : 오류가 날수 있기 때문에 git bash 에서 입력하여 맨 마지막줄까지 Copy 하십시오.

  1. Add SSH key를 클릭합니다.

이 과정을 각 GitHub 계정마다 반복하여 해당 계정의 공개 키를 등록합니다.


2단계: Git 저장소 클론 및 계정 설정

이제 각 GitHub 계정에 맞는 원격 저장소를 클론하고, 해당 저장소에 맞는 사용자 정보를 설정할 차례입니다.

2-1. 저장소 클론 (Clone)

기존 저장소를 클론할 때는 앞서 config 파일에서 설정한 별칭을 사용합니다.

Bash
 
# 개인 계정의 저장소 클론
git clone git@github.com-personal:your-username/your-personal-repo.git

# 회사 계정의 저장소 클론
git clone git@github.com-work:your-company-username/your-work-repo.git

중요: 여기서 github.com-personal 또는 github.com-work는 실제 GitHub 도메인이 아닌, ~/.ssh/config 파일에 설정한 Host 별칭입니다. Git은 이 별칭을 보고 해당 별칭에 연결된 SSH 키를 사용하게 됩니다.

2-2. 로컬 Git 설정 (Local Git Config)

각 클론한 저장소 디렉토리로 이동한 후, 해당 저장소에 맞는 사용자 이름과 이메일 주소를 설정해야 합니다. 이는 현재 저장소에만 적용되는 설정이므로, 다른 저장소에는 영향을 주지 않습니다.

Bash
 
cd your-personal-repo
git config user.name "Your Personal Name"
git config user.email "your_personal_email@example.com"
cd ../your-work-repo
git config user.name "Your Work Name"
git config user.email "your_work_email@example.com"

cd woogongTest-repo
git config user.name "WooGongTest"
git config user.email "woogongTest@google.com"

이제 이 저장소에서 커밋을 하면, 설정된 사용자 이름과 이메일 주소로 기록됩니다.


3단계: 테스트 및 오류 해결

이제 모든 설정이 완료되었으니, 실제로 잘 작동하는지 테스트해 볼 차례입니다.

3-1. SSH 연결 테스트

Git Bash 또는 CMD에서 다음 명령어를 사용하여 SSH 연결을 테스트할 수 있습니다.

Bash
 
ssh -T git@github.com-woogongTest #ssh -T git@github.com-personal
# ssh -T git@github.com-work

성공적으로 연결되면 다음과 유사한 메시지가 나타납니다.

Hi your-username! You've successfully authenticated, but GitHub does not provide shell access.

3-2. Git 푸시(Push) 테스트

각 저장소에서 간단한 변경 사항을 커밋하고 푸시하여 제대로 작동하는지 확인합니다.

  1. 해당 저장소 디렉토리로 이동합니다.
  2. test.txt와 같은 간단한 파일을 생성하고 내용을 추가합니다.
  3. 커밋합니다: git add . && git commit -m "Test commit"
  4. 푸시합니다: git push origin main (또는 master)

각 계정의 GitHub 저장소에서 해당 커밋이 올바른 사용자로 표시되는지 확인합니다.

3-3. 발생 가능한 오류 및 해결 방법

오류 1: Permissions denied (publickey)

  • 원인: SSH 키가 제대로 로드되지 않았거나, GitHub에 공개 키가 등록되지 않았거나, config 파일 설정이 잘못되었을 수 있습니다.
  • 해결 방법:
    • ~/.ssh/config 파일의 IdentityFile 경로가 올바른지 확인하세요.
    • ssh-agent가 실행 중인지 확인하고, ssh-add로 모든 SSH 키를 추가했는지 다시 확인하세요.
    • GitHub 계정 설정에서 해당 공개 키가 올바르게 등록되어 있는지 다시 확인하세요. .pub 파일의 내용을 정확히 복사했는지도 중요합니다.
    • 키 파일 권한이 너무 개방적으로 설정되어 있을 경우 문제가 발생할 수 있습니다. (chmod 600 ~/.ssh/id_rsa_youraccountname 또는 윈도우 탐색기에서 파일 속성 > 보안 탭에서 권한 설정)

오류 2: Could not resolve hostname github.com-personal: No such host is known.

  • 원인: ~/.ssh/config 파일에 github.com-personal과 같은 Host 별칭이 없거나 오타가 있을 경우 발생합니다.
  • 해결 방법:
    • ~/.ssh/config 파일을 열어 Host 별칭이 클론하려는 URL과 일치하는지, 오타는 없는지 꼼꼼히 확인하세요.

오류 3: 잘못된 사용자 이름/이메일로 커밋됨

  • 원인: 해당 저장소 디렉토리에서 git config user.name 및 git config user.email 설정이 올바르게 되어 있지 않거나, 전역 설정이 우선하고 있을 수 있습니다.
  • 해결 방법:
    • 해당 저장소 디렉토리에서 git config --list 명령어를 실행하여 user.name과 user.email이 올바르게 설정되어 있는지 확인하세요.
    • 만약 전역 설정이 우선하고 있다면 (git config --global user.name 등으로 설정된 경우), 반드시 각 저장소에서 로컬 설정을 해주세요. 로컬 설정은 전역 설정을 덮어씁니다.

마무리하며

이제 윈도우에서 여러 GitHub 계정을 손쉽게 오가며 사용할 수 있게 되셨을 겁니다. SSH 키를 이용한 설정은 초기에는 다소 복잡하게 느껴질 수 있지만, 한 번만 제대로 설정해두면 이후 작업 효율을 크게 높여줄 것입니다.

이 방법을 통해 개인 프로젝트와 업무 프로젝트를 명확하게 분리하고, 더 깔끔하고 효율적인 Git 워크플로우를 구축하시길 바랍니다! 궁금한 점이 있다면 언제든지 댓글로 문의해주세요.

 

Happy GoSu ~

WooGong ))*

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

 

반응형

'Tools > Github' 카테고리의 다른 글

[Github] Git 명령어  (0) 2021.08.24
[Github] Git clone  (0) 2020.01.23

+ Recent posts