Infra 13

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

[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..