github 8

[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 대상 커밋이 사라지는 것이 아닌 대상 커밋의 내용을 되돌린 새로운 커밋이 생겨나는 것 장점 : 이전 커밋이 남아있..

[Git] git과 github 3/7 - merge로 병합하기

인프런 강의 - git과 github 정리 merge 현재 브랜치 (head branch) 와 다른 브랜치를 합치는 것을 병합이라고 한다. 병합 시 자주 발생하는 상황 헤드 브랜치에 변경 사항이 없을 경우 합치려는 브랜치가 헤드 브랜치로부터 시작 그 사이 헤드 브랜치에서 아무 작업도 하지 않은 경우 주로 혼자 작업할 때 발생하는 상황이며, fast-forward라고 한다. example # version1 branch에서 작업 $ git branch version1 $ git checkout version1 $ git commit # main branch에서 병합 $ git checkout main $ git merge version1 브랜치가 생겨난 경우 과거의 커밋으로부터 브랜치를 생성해서 작업한 경..