GitOps/Git

· GitOps/Git
Git을 이용한 Branch 전략개발 프로세스에서 어떤 브랜치를 구성하고 관리할지에 대한 규칙과 가이드라인이다. 다수의 개발자가 협업하는 환경에서는 개발 팀의 코드에 대한 효율적인 관리와 협업을 위한 체계적인 방법이 필요한데, 이 때 여러 브랜치로 나누어 관리하는 방식이다. Branch 전략의 필요성① 병렬 개발: 여러 개발자가 동시에 여러 기능을 개발할 때 서로의 개발 작업에 끼치는 영향을 최소화할 수 있다.② 코드 안정성: 메인 브랜치의 안정성을 유지하면서 새로운 기능을 개발할 수 있다.③ 릴리스 관리: 특정 버전의 코드를 쉽게 관리하고 배포할 수 있다.④ 버그 수정: 긴급한 버그 수정을 메인 개발 흐름과 분리하여 처리할 수 있다.⑤ 실험적 기능: 리스크가 있는 새로운 기능을 안전하게 시도해볼 수 있..
· GitOps/Git
reset실수로 커밋한 경우 이전 상태로 돌아가는 방법이다. 옵션을 값을 이용해서 soft, mixed, hard 모드로 사용한다. 지정된 커밋의 상태로 돌아가기 때문에 가장 최근 커밋한 내역과 지정한 커밋 사이에 진행했던 커밋 히스토리가 삭제된다. reset 수행 이력이 남지 않기 때문에 다수가 협업하는 브랜치나 환경에서 사용하는 것은 권장하지 않는다. 개인 브랜치에서 잘못 커밋한 최근 변경 사항을 취소하는 경우에만 사용하는 것이 좋다.① soft 모드HEAD를 지정한 커밋으로 이동 시키면서 커밋 내역만 취소하면서 스테이징 영역과 작업 디렉터리의 변경 사항은 유지된다.git reset --soft ② mixed 모드HEAD를 지정한 커밋으로 이동 시키면서 커밋 내역과 스테이징 영역을 취소한다. 작업 디..
· GitOps/Git
Branch Merge 전략 네 가지① Fast Forward자식 브랜치에서 변경 및 수정한 작업 내용이나 파일이 부모 브랜치에서 변경한 이력이 없어서 충돌 이슈가 없이 병합되는 경우다.② 3 Way Merge부모와 자식 브랜치에서 같은 파일을 수정할 경우 병합 시 충돌 문제가 발생하는데, 메인 브랜치로 병합하는 과정에 세 개의 커밋(공통 조상 커밋, 부모 브랜치 최신 커밋, 자식 브랜치 최신 커밋)을 비교해 수동으로 병합하는 방식이다. 메인 브랜치에서 충돌 이슈를 해결한다. 주로 메인 브랜치는 전체 프로젝트의 리더가 관리 및 담당하게 되는데 프로젝트의 규모가 클 수록 병합 과정이 늘어나면서 병목이 발생할 수 있다.③ Rebase자식 브랜치에서 부모 브랜치의 최신 버전으로 다운로드 및 병합하면서 자식 브..
· GitOps/Git
Git Install① WindowsGit 사이트의 다운로드 페이지로 이동해서 Click here to download 버튼을 클릭해서 설치한다.② Linux - Redhat 계열sudo yum install git③ Linux - Ubuntu 계열sudo apt-get install git 기본 설정 ① 기본 사용자 정보 설정사용자의 이름이나 이메일, 사용할 에디터 등의 기본값 설정을 CLI를 이용해서 수행할 수 있다. 설정할 때는 해당 값이 어느 범위에 걸쳐서 적용할지 지정할 수 있는데, global, system, local로 구분해서 설정한다. system : 시스템 내의 모든 사용자에게 적용 시 사용되며, /etc/gitconfig 에 설정 값이 저장된다.global : 현재 접속한 사용자에게만..
· GitOps/Git
Git 버전 제어 시스템(VCS, Version Control Service)으로 소스 제어 시스템이라고 하기도 한다. 소프트웨어, 문서 및 기타 정보의 변경 이력을 관리하는데 도움이 되는 시스템이다. Git, Subversion, Bitbucket, Vault  등 다양한 도구가 존재한다. 버전 제어거의 모든 유형의 파일을 대상으로 변경 사항을 기록하고 필요시 이전 상태로 되돌릴 수 있게 해주는 시스템이다. 마지막으로 수정한 사람, 수정 시점을 파악할 수 있고 파일을 분실한 경우에도 복구가 가능하게 해준다. 버전 제어 시스템이 있기 전에는 로컬에서 각자가 파일을 관리 했는데, 작업자 간 협업에 불편함을 해소하기 위해 중앙 집중형 버전 제어 시스템(CVCS)가 만들어 졌다. 중앙 집중형 버전 제어 시스템..
· GitOps/Git
2개 이상의 GitHub 저장소에 대한 SSH Key 관리 및 Git 원격 저장소 설정 방법1. SSH Key 생성키 파일 생성# ssh-keygen -t rsa -b 4096 -C "your_email@example.com"ssh-keygen -t ed25519 -C "sh1517.you@gmail.com"키 파일 배치할 경로 입력> Enter file in which to save the key (/c/Users/YOU/.ssh/id_ALGORITHM):[Press enter]Passphrase 입력> Enter passphrase (empty for no passphrase): [Type a passphrase]> Enter same passphrase again: [Type passphrase a..
EndiYou
'GitOps/Git' 카테고리의 글 목록