본문 바로가기
반응형

개발 환경세팅38

bash에서 ssh-agent, ssh-add: 왜 source로 실행해야 할까? bash에서 ssh-agent 및 ssh-add를 sh파일로 실행할 때 이슈Linux, macOS, WSL, Git Bash 등 모든 bash 계열 환경에서ssh-agent와 ssh-add를 쓸 때스크립트를 ./파일.sh로 실행하면 안 되고꼭 source 파일.sh로 실행해야 제대로 동작함🔧 내용ssh-agent는 SSH 인증 정보를 관리하는 프로세스임ssh-add로 개인 키를 agent에 올리면같은 터미널 세션에서는 git pull/push 할 때 패스프레이즈를 반복 입력하지 않아도 됨보통 아래처럼 스크립트(ssh.sh)에 두 줄을 씀eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_ed25519문제:./ssh.sh로 실행하면ssh-agent가 백그라운드에서 돌긴 하지만**환경.. 2025. 7. 6.
Github Actions 정리 GitHub Actions란?1. GitHub Actions는 GitHub에서 제공하는 강력한 CI/CD 도구2. 이를 통해 개발자가 빌드, 테스트, 배포 및 자동화 작업을 쉽게 수행할 수 있도록 지원3. 이 글에선 GitHub Actions의 기본 개념과 사용 예시, 활용 방법까지 깔끔하게 정리📌 GitHub Actions 개념GitHub Actions는 아래 3가지 개념을 중심으로 동작Workflow (.yml 파일): 어떤 작업을 할지 정의한 스크립트Job: 하나의 Workflow가 수행하는 개별 작업Step: Job을 구성하는 실제 작업 단위 (명령어, Action 등)예를 들면# .github/workflows/example.ymlname: Example Workflowon: [push]job.. 2025. 7. 4.
[Github] Template GitHub TemplateGitHub를 사용하며 프로젝트를 진행하다 보면, 이슈와 PR이 무작정 쌓이면서 관리가 어려워지는 경험을 누구나 한 번쯤은 겪었을 것프로젝트를 체계적으로 관리하고 협업의 효율을 높일 수 있는 GitHub 템플릿에 대해 정리✅ Issue Template📍 사용 이유Issue 템플릿을 사용하면, 버그 리포트나 새로운 기능 요청 등을 일정한 양식으로 받을 수 있어 효율적인 관리와 신속한 대응이 가능📁 파일 위치.github/ISSUE_TEMPLATE/📄 예시 (bug_report.yml)name: 🐛 Bug Reportdescription: 발견한 버그에 대해 알려주세요.title: "[BUG] "labels: ["bug"]body: - type: input id: e.. 2025. 7. 3.
[Github] 깃허브에서 유저 이름의 특별 Repository 🧭 github.com/username, 왜 정리해야 할까?개발자에게 GitHub은 단순한 코드 저장소가 아님GitHub 프로필, 특히 github.com/username 주소는 특별 저장소로 나를 보여주는 포트폴리오 첫 화면💡 github.com/username이 중요한 이유1. ✨ 첫인상의 90%는 여기서 결정누군가 당신의 GitHub 주소를 클릭하면 가장 먼저 보게 되는 곳이 바로 github.com/username즉, 개발자 브랜딩의 시작점이자, 포트폴리오의 대문깔끔하게 정리된 리포와 명확한 설명만으로도"이 사람, 정리 잘하네", "프로젝트가 잘 정리돼 있네" 라는 인상을 줄 수 있음2. 🗂️ 리포지토리가 쌓이면 ‘혼란’이 보임의미 없는 리포지토리 이름, README 없이 방치된 프로젝트, .. 2025. 7. 2.
[Github] TIL TILTIL은 Today I Learned의 약자로, 하루 동안 새롭게 배운 지식이나 경험, 문제 해결 과정 등을 짧게 기록하는 습관 또는 콘텐츠 형식을 말함🔍 TIL의 목적지식 정리: 배운 내용을 스스로 정리하며 복습할 수 있음기억 강화: 직접 글로 써보며 장기 기억에 도움이 됨성장 기록: 자신의 학습/성장 과정을 기록으로 남길 수 있음공유 문화: 팀원이나 커뮤니티와 지식을 공유할 수 있음📝 일반적인 TIL 작성 방식형식: Markdown 형식으로 GitHub에 기록하는 경우가 많음내용 예시:# TIL - 2025.07.01## 📌 배운 내용- GitHub Actions로 자동화 구성하는 방법- `actions/checkout@v3`에서 `token`이 필요하다는 점## 🧠 깨달은 점- GitH.. 2025. 7. 1.
[Git] 버저닝 및 버전 간 전환 전략 다른 환경 설정을 적용하기 위해 특정 시점(버전)으로 돌아가기1. git tag를 활용한 버저닝 및 버전 간 전환 전략은 다음과 같이 실무에서 자주 사용2. 핀 설정 등 코드 차이가 나는 경우등 임베디드 환경에 유용✅ 1. 버전 태그 생성 (git tag)# 예: 현재 HEAD에 v1.0.0 태그 추가git tag v1.0.0# 다른 커밋에 태그 붙이기git tag v1.1.0 실무에서는 기능 변경/핀 설정 변경 등 주요 변화 시 v1.x.x, r2024.06.10 등 명확히 버전 이름을 정함🚀 2. 특정 태그(버전)로 이동git checkout v1.0.0이렇게 이동하면 detached HEAD 상태가 됨읽기 전용처럼 동작하며, 수정 후 새 브랜치를 따야 커밋 유지 가능# 수정 후 작업 계속하려면gi.. 2025. 6. 29.
[Git] 상황 별 활용 시나리오 정리 3 Signed Commits (서명 커밋), Rebase 자동화 스크립트, Release 브랜치 전략, Tag 관리 전략, GitHub Actions: 자동 태깅 및 배포 자동화1. Signed Commits (서명 커밋)✅ 설정$ git config --global commit.gpgsign true$ git config --global user.signingkey ✅ 커밋 시 서명$ git commit -S -m "🔒 feat: Add signed commit"gpg --list-secret-keys --keyid-format LONG로 키 ID 확인 가능2. Rebase 자동화 스크립트✅ rebase-main.sh#!/bin/bashset -eecho "🔁 Rebase current branch.. 2025. 6. 28.
[Git] 상황 별 활용 시나리오 정리 2 Git Submodule / Subtree 자동화, GitHub PR 템플릿 / 커밋 컨벤션, Pre-commit / Pre-push / Pre-rebase Hook 실무 적용, Husky + lint-staged 기반 자동화 예시1. Git Submodule / Subtree 자동화✅ Submodule 자동화 예시# 서브모듈 등록$ git submodule add external/module# 서브모듈 초기화 및 업데이트$ git submodule update --init --recursive# 자동화 스크립트 예시 (submodule-sync.sh)git submodule sync --recursivegit submodule update --init --recursive✅ Subtree 자동화 예시.. 2025. 6. 27.
[Git] 상황 별 활용 시나리오 정리 브랜치 복구, 코드 롤백, 협업 중 충돌 해결, 실무용 .gitignore 템플릿, 실무용 .gitconfig 설정 예시, GitHub Actions 실무 활용 예시(c, c++, python), 자동 CHANGELOG 생성 (태그 기반)1. Git 복구 전략 시나리오🔁 브랜치 삭제 후 복구# 최근 커밋 내역에서 복구$ git reflog$ git checkout -b deleted-branch 🔙 강제 reset 전 복구# 실수로 git reset --hard 한 경우$ git reflog$ git reset --hard HEAD@{1} # 또는 원하는 시점의 HEAD@{n} 🔨 충돌 후 손상된 rebase 되돌리기$ git rebase --abort 🆘 스테이지 취소 or 되돌리기# 스테이.. 2025. 6. 26.
[Git] 실무 명령어 실무에 사용하는 Git 고급 테크닉 정리 ※ 기본 내용은 아래에 정리2025.06.09 - [개발 환경세팅/Git, Github] - Git 명령어 개발자 단계 별 정리 Git 명령어 개발자 단계 별 정리Git 명령어 개발자 단계 별 정리Git을 초심자 → 중급자 → 고급자(마스터) 단계로 익힐 수 있도록 명령어와 개념을 정리실무에서 자주 쓰는 명령 위주로 구성🐣 초심자 단계 (기본기)🔹 핵심 개kfdd6630.tistory.com🚀 1. 커밋 히스토리 조작명령어설명git commit --amend마지막 커밋 메시지 또는 내용 수정git rebase -i HEAD~nn개의 최근 커밋 히스토리 수정, 합치기, 순서 바꾸기git cherry-pick 다른 브랜치의 특정 커밋만 가져오기git revert.. 2025. 6. 25.
반응형