Git | GitLab 52

[Git] git init 취소

git init cd /YOUR/PROJECT/PATH git init 버전 관리를 하지 않는 프로젝트를 Git으로 관리하기 위해 기존 디렉터리를 Git 저장소로 만든다. 명령을 실행하면 디렉터리에 .git이라는 하위 디렉터리를 생성하며, 이 디렉터리는 데이터를 저장하고 관리하는 데 사용된다. 이 디렉터리를 복사하면 저장소를 백업하는 것이다. git init 취소 git init을 취소하고자 할 때에는, git init 명령을 통해 생성된 .git 디렉터리 자체를 삭제하면 된다. cd /YOUR/PROJECT/PATH rm -r .git 참고 문서 https://git-scm.com/book/ko/v2/Git%EC%9D%98-%EA%B8%B0%EC%B4%88-Git-%EC%A0%80%EC%9E%A5%EC..

Git | GitLab 2022.01.17

git reset - commit 취소

2021.08.30 - git reset - add 취소 이전 글에 git reset에 대한 내용을 조금 정리해두었기 때문에 참고하면 좋다. 아마도. commit 이력 확인 git log commit 취소 git reset --soft HEAD # 최신 커밋 취소 git reset --soft HEAD^ git reset --soft HEAD~ # ^ : 커밋의 부모 # ^^ : 커밋 부모의 부모 # 마지막 n개 커밋 취소 git reset --soft HEAD~n # ~ : 여러 개의 ^와 같음 (~3 == ^^^). 수를 지정하지 않으면 ^와 같다. commit 취소란? HEAD, Index, Working Directory 개념을 생각해보면, -> Index와 Working Directory는 변경..

Git | GitLab 2021.09.01

git reset - add 취소

실수로 github 레포지터리에 푸시하지 않아도 되는 파일을 add 했다. 현재 stage 상태인 파일을 unstage 상태로 변경하려고 한다. 두괄식으로 결론만 먼저 적으면, add 취소할 파일을 지정하여 git reset 명령을 실행하면 된다. 아래 명령어는 모두 동일한 명령어다. git reset git reset --mixed git reset --mixed HEAD # 위와 동일한 명령어 # 예시 git reset README.md 기본 개념 HEAD 현재 브랜치를 가리키는 포인터 브랜치는 브랜치에 담긴 커밋 중 가장 마지막 커밋을 가리킨다. HEAD가 가리키는 커밋은 다음 커밋의 부모가 된다. Index Staging Area. 다음에 커밋할 것들. git commit 명령 실행 시 git이 ..

Git | GitLab 2021.08.30

git 사용자 설정

git config Git의 사용 환경 설정의 내용을 확인하고 변경하는 도구 git 설치 후에는 사용자 설정 등의 환경을 설정해주어야 원격 저장소로 푸시를 하는 등의 작업을 진행할 수 있다. 설정 파일 /etc/gitconfig 시스템의 모든 사용자와 모든 저장소에 적용되는 설정 git config --system​ 설정 변경 시, root 권한이 필요하다. ~/.gitconfig, ~/.config/git/config 현재 사용자에게만 적용되는 설정 모든 저장소 설정에 적용된다. git config --global​ ./.git/config git 디렉터리에 위치하여 특정 저장소에만 적용된다. git config --local​ ./.git/config이 제일 우선적으로 적용된다. 사용자 정보 설정 g..

Git | GitLab 2021.08.14

다른 두 레포지터리 병합

살다 보면 같은 프로젝트에 대해 뭔가 문제가 생겨서, 아니면 단순 이동 목적으로 새로 레포지터리를 파는 일이 발생하기 마련이다. 하지만 추후 히스토리를 관리할 때에 보면, 같은 프로젝트지만 아예 별개의 레포지터리로 저장되어 있어 병합해야 하는 경우가 있을 수 있다. 그럴 때 아래의 절차 따르면 별개의 저장소를 커밋 히스토리까지 병합할 수 있다. 방법 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

[GitLab] 그룹으로 개인 프로젝트 이동

여러 사람이 소스 관리를 하면 개인 저장소에 프로젝트를 생성해서 관리하는 것보다 그룹 저장소에 프로젝트를 생성해 관리하는 것이 더 편할 수 있다. 하지만 이미 개인 저장소에 프로젝트를 생성해서 소스 관리를 진행하고 있었다면, 프로젝트를 그룹 저장소로 이동시켜야 할 필요가 있다. 이런 경우 가장 단순한 해결 방법은 그룹에 신규 프로젝트를 생성한 뒤 기존 개인 저장소의 프로젝트를 clone/push 하는 방법인데 아마 commit history가 유지되지 않는 걸로 알고 있다. (확실하진 않다.) 그리고 다른 해결 방법은 GitLab에서 제공하는 Project Transfer 기능을 이용하는 것이다. 이 글에서는 웹 상에서 개인 저장소에 생성해둔 프로젝트를 Project Transfer 기능을 이용해 Gro..

Git | GitLab 2021.06.28

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

GitLab 삭제

디스크 용량을 확보하기 위해 테스트 목적으로 설치한 GitLab을 삭제하려고 한다. 패키지만 삭제한다고 삭제되지 않기 때문에 아래 과정을 따라야 한다. 방법 1. GitLab 서비스 제거 gitlab-ctl uninstall root 권한을 요구한다. 2. 데이터 삭제 gitlab-ctl cleanse 잠깐 기다리는 시간이 필요하다. 3. GitLab 계정 삭제 gitlab-ctl remove-accounts 4. 패키지 삭제 # ubuntu dpkg -P gitlab-ce # centos yum remove gitlab-ce # 다중 명령어로 실행해도 됨 dpkg -P gitlab-ce || sudo yum -y remove gitlab-ce 패키지 버전은 설치한 버전에 맞게 gitlab-ee 또는 g..

Git | GitLab 2021.05.28

[GitLab] Data 저장 디렉터리 변경

git data는 별다른 설정을 하지 않았을 경우, 아래 경로에 저장된다. /var/opt/gitlab/git-data 즉, root 경로 아래에 데이터가 누적된다. /root에 데이터가 누적되는 경우 디스크 용량이 부족해질 수 있어 별도로 마운트 시킨 디스크에 데이터가 저장될 수 있도록 변경하고자 한다. GitLab 설정 변경이므로 root 권한이 필요할 수 있다. 방법 1. 설정 파일 수정 vim /etc/gitlab/gitlab.rb 파일 내에서 아래와 같은 git_data_dirs 설정을 찾는다. # git_data_dirs({ # "default" => { "path" => "/var/opt/gitlab/git-data" }, # }) 2. 디렉토리 지정 해당 내용을 주석 해제 후, path 값..

Git | GitLab 2021.05.27

특정 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 5 6