git에 익숙하지 않은 개발자와 작업을 하다보면 여러가지 돌발 상황이 생긴다. 일을 하다보면 무의식적이고 습관적으로 "pull - commit - push" 를 할 때가 있는데 그러다보면 엉뚱한 branch와 merge를 하기도 한다. 작업 내용이 많고 많은 사람들과 함께 일하는 경우 revert 등을 통해 제대로 처리를 해야하나, 제대로 처리하는 것이 초보자에게는 쉽지 않다. 이런 경우, 가장 쉬운 방법은 다음과 같다.1. merge 하기 직전 혹은 그 이 전(정상이라 생각하는) commit을 새로 checkout2. checkout commit 부터 merge commit 사이에 정상적인 commit이 들어 있다면 cherry picking해 가져온다.3. 잘못 merge한 branch를 삭제한다. ..
github의 프로젝트를 clone하여 작업을 마친 후, commit을 했는데 committer가 github계정이 아닌 이메일로 등록되는 경우가 있다. 이런 경우에는 다음 과정을 통해 github계정과 이메일을 설정하여 github이 committer를 인식할 수 있도록 해준다. git config --global user.name "원하는이름"git config --global user.email 이메일git commit --amend --reset-author"원하는이름"과 github 계정을 동일하게 설정하면 이메일 대신 github 계정이 committer로 등록되는 것을 확인할 수 있다.
정확히는 .gitignore가 동작하지 않는 것이 아니라, 이미 리모트 서버에 업로드되어 있는 항목을 뒤늦게 .gitinore에 추가했을 경우 .gitignore가 동작하지 않는 것 처럼 보인다. .gitignore는 commit할 파일을 filtering 해주지만, 이미 서버에 올라가 있는 파일까지 자동으로 제거해주지는 않는다. 이런 경우 서버에 올라가있는 ignore 대상 파일과 캐시를 삭제하여 해결한다. git rm -r --cached "제거할 파일/폴더" git commit -m "커밋 메시지" git push 출처: https://stackoverflow.com/a/11451731/3422425
- Total