git cherry-pick 활용하기 참고: https://cselabnotes.com/kr/2021/03/31/git-명령어-git-cherry-pick/ 어떤 특정 commit만 집어서 적용하고 싶을 때 사용한다. 모르고 테스트용 브랜치에 작업을 했을 때, 그 코드 양이 너무 많아서 다시 다른 브랜치로 옮기기 어려웠던 적이 있다. 그럴 때 일단 테스트 브랜치에 commit 한 뒤 그 내용을 작업 브랜치에 cherry-pick 하는 식으로 문제를 해결했다. 명령어는 아래와 같다. $ git cherry-pick 예를 들어 123test4 이라는 커밋을 working branch에 적용하고 싶다면 $ git checkout working $ git cherry-pick 123test4 해주면 된다.
강태공 님의 인프런 git 강의 일부를 정리한 것입니다. 01. 버전 관리의 첫 시작 1) 버전 관리의 큰 그림 Git이란? git은 버전(형상) 관리 시스템 중 하나다. 버전은 유의미한 변화가 결과물로 나온 것이다. 버전 관리의 필요성 그럼 버전 관리는 왜 필요할까? 크게 세 가지 이유가 있다. 협업 : 대규모의 프로젝트는 혼자서 처음부터 끝까지 작업하기 힘드므로 여러 명의 개발자가 공동으로 작업할 필요가 있다. 롤백 : 버전에 심각한 문제가 발생하면 그 이전 버젼으로 되돌릴 필요가 있다. 백업 : 프로젝트 작업 기간 중 어떤 일이 벌어질지 모르므로 유의미한 변화가 나올 때마다 백업을 해두는 게 안전하다. 코드가 버전이 되기까지 작성한 코드가 버전이 되기까지 거쳐가는 3가지 공간이 있다. workin..
commit, add, pull, merge 취소하기 참고 문제상황 장기 프로젝트를 작업하던 브랜치에서 모르고 master를 pull을 받아버렸다. 아직 작업이 다 끝나지 않았는데, 코드만 상이한 master를 pull 받아서 난감했다. 해결 $ git reset --hard ORIG_HEAD 로 이전 HEAD로 넘어갔다. git은 뭔가 간단해 보이면서도 아직 어려운 거 같다. 반드시 시간을 내서 한 번 깊게 파야겠다. 추가 공부 add 취소 $ git reset HEAD commit 취소 $ git reset --hard HEAD pull 취소 $ git reset --hard ORIG_HEAD merge 취소 $ git reset --merge ORIG_HEAD
git에서 특정 브랜치만 clone하기 참고 git을 사용하다 브랜치 전체를 clone하지 않고 특정 브랜치 하나만 clone하는 것이 필요할 때가 있다. 문제상황 장기 프로젝트를 위해 따로 브랜치를 따놨는데, master에 긴급 및 단기 프로젝트 기능을 넣다보니 장기 프로젝트 코드의 내용과 마스터의 코드 내용이 많이 달라지게 됐다. 작업 컴퓨터를 바꾸고 장기프로젝트 건과 master를 오가며 작업할 일이 생겼는데, master를 clone하니 장기프로젝트 브랜치만 받을 수 없어 작업에 어려움이 있었다. 해결 $ git clone -b {branch_name} --single-branch {저장소 URL} 예: git clone -b tempbranch --single-branch https://gith..