본문 바로가기

소프트웨어 이야기/git

[git] REFLOG - REBASE 취소하기 REBASE를 취소하는 방법잘못 리베이스된 git이 remote까지 반영된 경우, 이걸 취소해야하는 경우가 있다. 이때는 reflog와 reset을 사용하면 된다. 1. git reflog 브랜치명이 명령문은 잘못 리베이스한 로컬 컴퓨터에서 실행해야한다. 그래야 리베이스 로그를 볼 수 있다. 그리고 이 명령문은 그냥 로그를 보는 거여서, 막 쳐봐도 된다. 무서워할 필요 없다. 2. git reset -- hard 128e6d4reflog를 보고, 돌아가고 싶은 커밋명을 찾는다. 그다음 그 커밋명을 위에 명령문처럼 쓰고, 이전 커밋 이력을 모두 reset한다. 3. git push -f origin 브랜치명이렇게 리셋한 커밋이력을 리모트로 강제 푸시를 해야한다. 그러니 -f 옵션을 추가한 후, git pu..
[Git] 신입 소프트웨어 엔지니어에게 유용한 Git 명령어 원래는 git을 사용할 때는 소스트리를 사용해서, Git 명령어를 사용하지 않았었다. 그러나 최근에 git에 훅을 추가하면서, 소스트리 사용이 불편해진 케이스가 있었다.Push 전에 도는 Rspec의 실행상태를 보고 싶다거나 할 때는 소스트리보다는 터미널에 Push 명령어를 쓰는게 더 편했다.이 때 사용했던 명령문들을 아래에 정리해보고자 한다. git 상태조회하기git statusgit stage 환경 등을 확인할 수 있다. 나는 소스트리로 원하는 소스코드 Hunk, line을 스테이지로 옮긴 후, 이 변경 사항을 터미널에서 커밋하고는 했었다. 그래서 터미널에서 처음 정상적으로 스테이지에 올라왔는지를 확인하기 위해 저 명령어를 사용하였었다. commit 하기git commit -m 'ABC-123 커밋하..
[git]STASH - 브랜치에서 다른 브랜치로 이동하기 전에, 커밋전에! 내가 한 코드 임시 저장하기! GIT STASH 이번 주에 요긴하게 쓰고, 너무 마음에 들었던 GIT Stash에 대해서 정리해보고자 한다. 일을 하다보면 이럴 때가 있다.지라 티켓을 보고, master 브랜치에서 해당 과제의 브랜치를 따서 마구 작업을 하고 있을 때 말이다. 그런데 아직 commit을 하기에는 부족할 때가 있다. p "로그로그로그" 처럼 콘솔 로그를 마구 찍으면서 로직을 파악하고 있다거나,database.yml의 db의 development 환경값을 기존 브랜치랑 다른 값으로 설정하고 있었다거나..개발용으로 수정해서, commit을 하면 안되는 그런 로직들이 있다. 그런데 갑자기 다른 과제의 로직을 봐야할 때가 생긴다. 그래서 내가 지금 작업하고 있는 브랜치에서 다른 브랜치로 check out을 해야할 때가 있다.이..