본문 바로가기

Programming/Git12

git log - 콘솔에서 그래프로 깃로그 확인 git log --graph --pretty=oneline --abbrev-commit --all 2023. 4. 14.
git 특정 commit 삭제 - rebase 위 이미지에서 f2349010 커밋을 삭제하고자 한다. 그 이전 커밋위치(c09e7d89)가 필요하다 $ git checkout -t origin/develop # -t: 로컬의 동일한 이름의 branch를 생성하면서 해당 branch로 checkout $ git rebase -i c09e7d89 # 삭제하고자 하는 이전 커밋의 위치를 넣어준다 pick a5e36918 pick d02d135d pick 94a9c6aa d f2349010 # pick -> d 로 변경 :wq 하면 해당 커밋이 삭제된 local develop 브랜치가 생성되었다, 그대로 포스 푸시하면 원하는 커밋이 삭제된 브랜치가 원격저장소에 적용된다 $ git push origin develop -f 2023. 4. 13.
git push 전에 할일 - PR 시 conflict PR 후 conflict 가 나면 웹상에서 확인/수정하기가 쉽지 않다, 로컬에서 미리하는 방법 정리한다 전체 fetch 받기 origin/develop 으로 rebase 하기 - conflict 발생 : 로컬에서 충돌을 해결하고 git push 그러면 PR하고 머지 시 충돌이 발생하지 않는다. 어디에서 충돌을 해결하느냐의 문제이긴 한데, 나는 로컬에서 해결이 IDE로 보면서 훨 편해서, 이렇게 하고 있다. > git fetch -a && git rebase origin/develop && git push --set-upstream 2023. 1. 25.
squash - git commit을 깔끔하게 push 전에 깔끔하게 하나의 커밋으로 올리고 싶을 때 사용 local master branch 최신화 # pull local master $ git checkout master $ git pull origin master # rebase $ git rebase -i master mybranch squash pick last commit pick -- pick -- pick -- pick first commit 처음 pick 만 두고 나머지는 s (squash)로 수정한다 pick last commit s -- s -- s -- s first commit conflict 발생 conflict 가 해결될 때까지 1,2,3을 반복 # conflict 나는 부분 수정 # 1 $ git add files # 2.. 2020. 6. 22.
git force push local 로 remote 덮어쓰기 master branch에서는 하지 않기를 바란다 대부분 서브 브랜치에서 스쿼시 후에 많이 사용 $ git push -f 2020. 6. 18.
git stash - 작업 임시 저장 git stash 작업 중에 다른 브랜치로 체크아웃하거나 마스터를 리베이스할 경우에 사용하면 좋다 # without message > > > git stash > > > git stash save # git stash save > > > git stash save update tag > > > git stash list > > > stash@{0}: On branch\_name: update tag > > > stash@{1}: WIP on branch\_name: 49bf139 replace parenthesis # 0: git stash save update tag 결과 # 1: git stash # commit 한거, commit 안한거 모두 commit 안한거로 unstash > > > git s.. 2020. 6. 16.
git pull overwrite $ git fetch --all $ git reset --hard origin/master $ git pull origin master 2020. 6. 10.
git pull without login - for gitlab public key & private key 생성 gitlab을 위한 ssh key는 옵션을 줘야 한다 옵션 -t 타입 지정: rsa -C comment 기록: "gitlab" -b 비트수 지정: 기본 2048, gitlab은 4096 $ ssh-keygen -t rsa -C "gitlab" -b 4096 $ cat ~/.ssh/id_rsa.pub public key: id_rsa.pub private key: id_rsa 2020. 6. 9.
git diff patch - 패치 생성/적용 $ git diff --no-prefix > patchfile # 패치파일 생성 $ patch -p0 < patchfile # 패치적용 2020. 6. 8.