Git 33

다른 두 레포지터리 병합

살다 보면 같은 프로젝트에 대해 뭔가 문제가 생겨서, 아니면 단순 이동 목적으로 새로 레포지터리를 파는 일이 발생하기 마련이다. 하지만 추후 히스토리를 관리할 때에 보면, 같은 프로젝트지만 아예 별개의 레포지터리로 저장되어 있어 병합해야 하는 경우가 있을 수 있다. 그럴 때 아래의 절차 따르면 별개의 저장소를 커밋 히스토리까지 병합할 수 있다. 방법 1. 로컬 상에서 작업을 진행할 프로젝트로 이동한다. 2. 병합할 원격 저장소 추가 git remote add # 예시 git remote add tomerge https://github.com/remote/url.git 3. 원격 저장소에 저장된 커밋 기록 fetch git fetch # 예시 git fetch tomerge 병합할 원격 저장소의 커밋 로그..

Git | GitLab 2021.07.24

Git 레포지터리 미러링

Git을 통해 레포지터리 미러링 방법에 대해 적어둔다. 레포지터리 내 100M 이상 파일도 함께 옮기고 싶다면 git-lfs, BFG Repo-Cleaner도 함께 사용해야 한다. 방법 1. git-lfs 레포지터리 설치 curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.rpm.sh | sudo bash 2. git-lfs 설치 sudo yum install git-lfs git lfs install 3. BFG Repo-Cleaner 다운로드 wget https://repo1.maven.org/maven2/com/madgag/bfg/1.14.0/bfg-1.14.0.jar # 사용 방법 : jar 실행 java -jar ..

Git | GitLab 2021.06.01

특정 Commit History 삭제

아무리 조심한다고 한들 살다 보면 민감정보가 포함된 내용을 commit/push 하는 경우가 종종 있기 마련이다. 이미 원격 저장소에 푸시를 완료한 상황이라면 파일 내용을 수정해봐야 commit history에는 여전히 정보가 남아있기 때문에, 아예 해당 커밋을 푸시한 이력이 없던 버전으로 원격 저장소의 상태를 돌려놓아야 한다. 이 글은 커밋 히스토리에서 잘못 커밋/푸시한 파일을 삭제하는 방법을 다룬다. 방법 1. 클론받은 레포지터리로 이동한다. 2. 브랜치 재작성 필터링을 이용해 적용된 파일만 가지고 히스토리를 재구축한다. git filter-branch --force --index-filter \ "git rm --cached --ignore-unmatch ''" \ --prune-empty --ta..

Git | GitLab 2021.05.26
1 2 3 4