목록Web Development/Git (10)
Code&Data Insights
git rebase -i fbf2cea (돌아가고 시점 커밋 선택해서 rebase창 뜨면 선택하고 forced push하기 git push 할때 항상 명시하기 (origin head, upstream master ~ )git reset --hard upstream/master force (-f)는 내 local에서만 하기 head는 branch명 명시 안해도 현재 branch를 가리킴 체리픽 되있을 경우 버리기 : cherry-pick --abort 킵하고 싶은 commit cherry-pick 해놓고 (커밋 여러개일 경우 과거 역순 제일 과거 -> 최신순) git reset --hard 돌아가고 싶은 commit 으로 origin에서 (NOT upstream!!! ) git reset -..
merge 하면 바로 브랜치 삭제하기.. ㅎㅋ 타입에러 나면 그거 다 잡고 올리기.. --no-verify 조건 무시하고 커밋하는거라 타입 안잡고 나중에 PR merge까지 하고 개고생... 여튼, 이미 merge된 브랜치 계속 실패.. ** 이미 merged된 브랜치면 새로운 수정사항 있을때, master에서 작업하고 (back-end, front-end 둘다 최신으로 유지..!) 바로 push git push origin head -f type은 직접 수정하지 말고,, yarn import-type으로 . 꼭잡기...! git fetch upstream mastergit log --oneline : 커밋한거 확인 (내 경우에 마지막 커밋만 적용되면 됐지만, 기존 이미 merged된 브랜치에서 ..
git stash 관련 ==> stash pop: 하고 나면 파일들 삭제==> stash apply: 다음을 위해서 파일 꺼내고 나서도 삭제하지 않음 merge conflict 나면, git stash pop을 해도 git stast apply로 알아서 적용되서 저장됨..! 그럼 평소에 git stash list를 하는게 좋은가? ㄴㄴ 어차피 없어져도 살릴 방법이 있음 그냥 stash pop하기!! 내가 stash 잘 가져왔는지 보려면? git stash list git stash show 혹시 몰라서 reset --hard할때 불안하다면 txt 파일로 저장해두기==> git diff > a.txt==> git stash apply 문제상황 - 내가 했던 작업 상황들 git stash 해놓고..
문제 상황branch 생성 후 git pull upstream master 이후 로컬에 push (git push --set-upstream origin feat/rss-news) 하려고 하자 에러 발생 원인? 원격 저장소에 푸시하려는 브랜치가 로컬 브랜치와 일치하지 않을 때 발생==> 이 문제는 주로 다른 사람이 원격 저장소에 푸시한 변경 사항을 로컬 저장소가 반영하지 않았기 때문에 발생! 문제 해결 방법 1) 로컬 브랜치가 최신인지 확인: git push --set-upstream origin feat/rss-news==> same error! 2) 만들었던 기존 브랜치 삭제하고 다시 만듬 (1) 마스터 브랜치로 이동 => git checkout master (2) git pull upstre..
협업시 새로운 기능을 개발할 때, master branch에서 작업하지 않음! (1) 내 계정으로 fork 한 뒤 git clone,-> 새 기능의 branch를 생성한다. 로컬 repository 에서 브랜치생성git branch git switch * branch 생성 후 & 작업 중간중간 pull 해오기 ** (2) 변경 사항 local에 push(push 전 yarn format, yarn tsc 타입 잡기..!) => 현재 만들어진 새 브랜치에서 작업해서 푸시할 경우git push origin head (브랜치 이름 넣을 필요 X) (3) PR (Pull Request) 생성github에서 'New Pull Request' 생성하기 Merge 요청 (4) 코드리뷰 받기, Merg..
문제상황- git pull 안하고(다른사람이 변경한거 체크안하고..ㅋㅎ: 내실수) 커밋해서 conflict 남 - 다시 commit했는데 처음꺼 그대로 남아있고 내가 올리고 싶지않은 다른 파일로 다시 커밋이 되버림 해결방법1) 리베이스 시작:git rebase -i HEAD~2 (or git rebase -i HEAD^^): 최근 두개 커밋을 보여줌, 내가 삭제하고 싶은 커밋 pick -> drop으로 수정-> esc 안먹힘, 그냥 :wq 치고 (write(저장)와 quit(종료)) 엔터 누르면 된다 -- 푸시하기 전에 잘 없어졌는 지 확인 가능! -- 2) 리베이스 OK, 원격 저장소에 변경사항을 푸시하기git push origin master --force 완료!! (교훈: Git Pull ..
아주 기본적인 실수지만,그래도 기록하기..! 커밋할 때, vscode에서 staged에 올려야 되는데, 일부 수정 반영 필요 없는 파일들을 올리지 않을 경우 commit해도 바로 push 버튼이 활성화가 안된다! -> 명령어로 push 해도 되는데 처음이라 여러 방법을 찾다가 파일을 다 삭제해버림.. ㅋㅎ 문제가 된 명령어 git rm --cached . -rf 인덱스에서 모든 파일을 제거하기 때문에, 잘못 사용하면 다음 커밋에서 모든 파일이 삭제된 것으로 나타날 수 있음! 사용시 주의!!! [ 해결 방법 ] (1) 내가 커밋한 내용들도 같이 사라졌기 때문에, git init 하기전에 저장해야 함 (따로 저장해놓기) (2) 깃 초기화 하기 - git init (3) 기존 저장소 다시 연결git rem..
git pull : git fetch + git merge 두 명령어의 조합 - git fetch : 원격 저장소의 변경사항을 로컬로 가져옴 - git merge: 가져온 변경사항을 현재 브랜치에 병합 => 커밋 히스토리가 꼬여버린 경우..git reset --hard로 하고 -> git pull git reset 하면 잘 안됨 -> git reset --hard로 하고=> git pull 하기! ** hard는 절대 절대!!! local에서만 실행하세요..!!! 안된다고 원격 repo에서 했다가 대참사가 일어날 수 있습니다..(웬만하면 원격 repo에서 작업하지 마세요..ㅎ) git pull --rebase: git fetch + git rebase 두 명령어의 조합 - git fetch : 원격..