나를 위한 Git 레시피

노력을 즐기는 사람·2020년 8월 28일
0

사오정 앱개발

목록 보기
9/11
post-thumbnail

이번 프로젝트를 진행하면서 Git을 정말 많이 활용했다. 그리고 실수도 정말 많이 했다. 사용을 하다보면 거의 쓰는 기능들만 쓰는 것 같다. 그래서 다음엔 까먹지 않으려고 작성한다. 나를 위한 레시피~~

상황별 레시피

branch를 착각 했을 때

우리는 기능을 구현하거나 버그를 수정할 때 issue를 등록하고 issue번호와 동일한 branch를 생성해서 작업하고 머지하는 식으로 작업을 했다. 그런데 작업을 하다보면 정말 자주 원하는 branch가 아닌 다른 branch에서 작업을 한 경우가 많았다. 심지어 add, commit도 한 적이 있다. 그래서 상황별로 명령어를 알아보자

add commit은 안했을 때

작업한 내용을 아직 add commit을 안했을 때는 실수한 branch에서 git stash 를 입력하고 원하는 branch로 이동한 후 git stash pop 을 하면 된다. 그러면 stash stack을 이용해 작업 내용을 옮기는 방법이다. 아마 다른 방법들도 많이 있을 거라고 생각된다. 좋은 방법이 있다면 댓글로 부탁드립니다 !!

add commit을 했을 때

체리픽이라는 기능이 있다. 원하는 커밋만 쏙 빼서 가져오는 것이다. 원하는 branch에서 실수한 branch의 커밋을 가져온다. 명령어는 git cherry-pick {커밋 해시값} 이다. 근데 이거는 실수한 branch에서 commit이 남아있더라 그래서 그 commit을 지워줘야한다.

pull이 안될때

안드로이드 개발을 하는데 pull이 안된다. error: The following untracked working tree files would be overwritten by merge: 오류가 발생한다.
sourcetree에서 폐기를 하려고해도 끈질기게 남아있다.
이럴 때 해결법 clean -d -f -f 입력하면 문제가 되던 녀석이 remove된다.

push/pull 할 때 자동 인증하기

로컬 스토리지에 캐시로 인증 정보를 저장하는 방식을 선택했다. 요즘은 SSH key 방식을 많이 사용하는 듯 하다.

git config --global user.name 를 입력하고 로그인 할 때 사용하는 이메일을 입력한다.

git config --global user.password 를 입력하고 로그인 할 때 사용하는 비밀번호를 입력한다.

--global을 제거하고 원하는 저장소의 root 에서 git config user.name 과 같이 입력하면 해당 저장소에서만 사용할 인증을 설정할 수 있다.

continue.....

profile
노력하는 자는 즐기는 자를 이길 수 없다

0개의 댓글