7

[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 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 브랜치가 생겨난 경우 과거의 커밋으로부터 브랜치를 생성해서 작업한 경..

[Git] git과 github 2/7 - branch 나누기

인프런 강의 - git과 github 정리 branch git을 사용하다 보면 브랜치 나눈다라는 말을 되게 많이 듣는다. 그렇다면 대체 어떠한 상황에서 brach를 사용하는지 알아보자. 기능 변경하기 잘 돌아가고 있는 프로그램에서 기능을 바꾸고 싶은 경우가 종종 있다. 만약 A 기능을 B 기능으로 고치고 싶을 때, A 기능 전부를 주석 처리하고 B 기능을 작성할 수도 있다. 하지만 이러한 상황이 반복되면 스파게티 코드 즉, 복잡한 엉망진창의 코드가 될 수 있다. 이를 막기 위해 사용하는 것이 바로 branch이다. # version1 branch 생성 $ git branch version1 # version1 branch로 이동 $ git checkout version1 $ git commit $ git..