Git·GitOps
Windows·Rocky·Ubuntu의 Git 설치부터 브랜치 협업, 로컬 Git 서버, CI/CD와 GitOps 운영까지 이어집니다. 전체 24편 목록과 예제 파일에서 학습 순서를 확인할 수 있습니다.
-
![[Git·GitOps 15] Gitea로 로컬 Git 웹 서버 구축하기: Docker Compose](https://blog.maruops.com/wp-content/uploads/2026/10/maruops-git-photo-9-768x510.webp)
[Git·GitOps 15] Gitea로 로컬 Git 웹 서버 구축하기: Docker Compose
Docker Compose로 Gitea와 PostgreSQL을 구성합니다. 로컬 접속, 관리자 생성, SSH 포트와 ROOT_URL, 팀 접근 전 바꿀 설정을 단계별로 설명합니다.
-
![[Git·GitOps 14] 로컬 Git 서버 만들기: Rocky·Ubuntu의 bare 저장소와 SSH](https://blog.maruops.com/wp-content/uploads/2026/10/maruops-git-photo-8-768x966.webp)
[Git·GitOps 14] 로컬 Git 서버 만들기: Rocky·Ubuntu의 bare 저장소와 SSH
별도 Linux VM에 bare 저장소와 git-shell 계정을 만듭니다. SSH 공개 키와 호스트 지문, 접근 제한, 첫 푸시와 서버 측 이력 확인을 설명합니다.
-
![[Git·GitOps 13] 저장소 정리: gitignore·줄바꿈·LFS·비밀 값](https://blog.maruops.com/wp-content/uploads/2026/10/maruops-git-photo-5-768x512.webp)
[Git·GitOps 13] 저장소 정리: gitignore·줄바꿈·LFS·비밀 값
추적 제외 규칙과 이미 추적한 파일의 차이를 이해합니다. Windows·Linux 줄바꿈 정책, 대용량 파일의 LFS, 비밀 값 유출 대응을 정리합니다.
-
![[Git·GitOps 12] 태그와 릴리스: 배포한 커밋을 찾을 수 있게 만들기](https://blog.maruops.com/wp-content/uploads/2026/10/maruops-git-photo-1-768x512.webp)
[Git·GitOps 12] 태그와 릴리스: 배포한 커밋을 찾을 수 있게 만들기
주석 태그를 만들고 원격에 전달합니다. 태그와 릴리스의 차이, SemVer 적용 조건, 커밋·산출물 체크섬·이미지 digest 연결 방법을 설명합니다.
-
![[Git·GitOps 11] 팀 브랜치 전략과 Pull Request: merge·rebase의 선택](https://blog.maruops.com/wp-content/uploads/2026/10/maruops-git-photo-7-768x493.webp)
[Git·GitOps 11] 팀 브랜치 전략과 Pull Request: merge·rebase의 선택
짧은 기능 브랜치와 PR 리뷰를 기준으로 팀 작업을 구성합니다. trunk 기반 개발과 Gitflow의 선택 이유, rebase와 force-with-lease의 범위를 설명합니다.
-
![[Git·GitOps 10] 원격 저장소 연결하기: clone·fetch·pull·push](https://blog.maruops.com/wp-content/uploads/2026/10/maruops-git-photo-4-768x509.webp)
[Git·GitOps 10] 원격 저장소 연결하기: clone·fetch·pull·push
원격 별칭과 추적 브랜치를 이해하고 clone, fetch, pull, push를 구분합니다. SSH 키 인증과 호스트 지문 확인, non-fast-forward 오류 대응을 다룹니다.
-
![[Git·GitOps 09] 충돌 해결하기: 공통 조상과 3-way merge](https://blog.maruops.com/wp-content/uploads/2026/10/maruops-git-photo-3-768x509.webp)
[Git·GitOps 09] 충돌 해결하기: 공통 조상과 3-way merge
같은 줄을 다르게 수정한 두 브랜치를 만들고 충돌을 해결합니다. 3-way merge의 기준, 충돌 표시, continue와 abort, 테스트 순서를 설명합니다.
-
![[Git·GitOps 08] 브랜치 만들고 합치기: switch·merge와 fast-forward](https://blog.maruops.com/wp-content/uploads/2026/10/maruops-git-photo-7-768x493.webp)
[Git·GitOps 08] 브랜치 만들고 합치기: switch·merge와 fast-forward
기능 브랜치를 만들고 main에 병합합니다. 브랜치가 커밋을 가리키는 구조, fast-forward와 병합 커밋의 차이, 삭제 시점을 설명합니다.
-
![[Git·GitOps 07] 되돌리기 전에 고르는 명령: restore·reset·revert](https://blog.maruops.com/wp-content/uploads/2026/10/maruops-git-photo-7-768x493.webp)
[Git·GitOps 07] 되돌리기 전에 고르는 명령: restore·reset·revert
스테이징 취소, 미커밋 수정 폐기, 로컬 커밋 재작성, 공유 커밋의 되돌리기를 구분합니다. reset의 모드와 reflog 복구 범위를 설명합니다.