Infra/📺 Git 10

[Git] 특정 branch만 골라서 clone하기

로컬 저장소에서 작업하다보면 원격 저장소의 특정한 브랜치만 clone 해야하는 경우가 있다. git clone -b BRANCH_NAME --single-branch REPOSITPRY 위와 같이 --single-branch 옵션을 부여해 원하는 브랜치 내용만 클론할 수 있다. example develop이라는 브랜치만 클론하고 싶은 경우 아래처럼 명령어를 입력하면 된다. git clone -b develop --single-branch https://github.com/sangm1n/example.git

[Git] 이미 커밋한 내용의 계정 변경하기

gitlab과 github 계정을 따로 쓰는 바람에 gitlab에 커밋한 내용을 미러링해서 깃허브로 가져와도 contribution 반영이 되지 않았다. 찾아보니 rebase를 이용하면 문제를 해결할 수 있다고 한다. 상황 소스트리에서 살펴본 상황은 이랬고, 계정 이메일을 모두 naver.com으로 바꾸는 것이 목표였다. step 1 rebase git rebase -i -p COMMIT_HASH 사진 맨 오른쪽에 있는 값들이 commit id이다. 깃은 가장 최근에 커밋된 번호를 확인하지 않고 바로 커밋하기 위해 이처럼 hash 값을 사용한다. 여튼 우리는 수정하고 싶은 커밋의 바로 직전 hash 값을 알아야 한다. 애초에 첫 커밋부터 다른 계정으로 설정되었기 때문에 가장 처음 커밋한 값을 가져왔다. ..

[Git] Repository 그대로 옮기기

gitlab에서 작업한 프로젝트를 github에 끌어올 수 있는 방법이 있지 않을까 해서 찾아본 결과 mirror를 이용하면 된다고 한다. 커밋 히스토리까지 그대로 끌어오기 때문에 자주 사용할 것 같다. mirror 원래 있던 ORIGIN_REPO 레파지토리를 NEW_REPO 라는 신규 레파지토리로 가져오고 싶다고 가정해보자. https://github.com/ORIGIN_REPO.git https://github.com/NEW_REPO.git 간단하게 mirror 옵션을 이용해 클론한 후 푸쉬해주면 된다. $ git clone --mirror https://github.com/ORIGIN_REPO.git $ cd ORIGIN_REPO.git $ git remote set-url --push origin..

[Git] git과 github 6/7 - stash로 임시 저장하기

인프런 강의 - git과 github 정리 작업 내용 임시 저장하기 git checkout BRANCH 시 현재 작업 디렉토리가 깨끗해야 한다. 하지만 작업 도중에 체크아웃을 하고 싶을 때가 종종 있을 것이다. 이럴 때 작업 중인 내용을 임시 저장하는 방법으로는 2가지가 있다. 임시 커밋 현재 작업 중인 branch1에서 일단 커밋 branch2로 체크아웃 후 작업 다시 branch1로 돌아와 작업 마무리 커밋 덮어쓰기 (git commit --amend) stash stash 생성 새로운 파일로 작업 중이였다면 일단 스테이징 영역에 추가 branch2로 체크아웃 후 작업 다시 branch1로 돌아와 저장해둔 stash를 꺼냄 새로운 커밋 (git commit)

[Git] git과 github 5/7 - commit 되돌리는 방법

인프런 강의 - git과 github 정리 커밋 되돌리기 이전 커밋으로 되돌리는 방법으로 세 가지가 있다. reset 으로 되돌리기 브랜치를 만들어서 되돌리기 revert 으로 되돌리기 reset git reset --hard 명령어 사용 장점 : 간단하다. 단점 이전 커밋이 날아간다. 강제적으로 푸시해야 한다. (git push --force) 브랜치 만들기 되돌아가고 싶은 커밋을 대상으로 브랜치를 생성하여 작업 후 main과 병합 장점 : 쉽고 모든 기록이 남는다. 단점 : 트리가 지저분해져 혼자 작업할 때 좋다. revert 대상 커밋을 헤드 커밋의 자식으로 새로 생성 즉, revert 대상 커밋이 사라지는 것이 아닌 대상 커밋의 내용을 되돌린 새로운 커밋이 생겨나는 것 장점 : 이전 커밋이 남아있..