Commit 3

[git] 이미 발행된 커밋 고쳐 쓰기

고쳐쓰는 대상 커밋 순서 커밋 저자 커밋 일시 사전 작업 수정 가능 여부 확인 다른 작업자와 공유된 저장소이면 다음 여부를 확인하기 이미 공유(push)된 커밋이면 절대 고치지 않습니다!!. 그래도 고쳐야 한다면 다른 작업자의 현재 작업 내용을 수동으로 백업해놓고, 이 수정 작업 수행 후, 현재 저장소를 삭제(또는 백업)하고 저장소를 새로 내려받고 나서 이전 백업 내용을 복원해야 합니다. 차라리 되돌려야 하는 부분이 있다면 revert 명령을 활용하세요. 수정한 본인 제외하고 모두가 꼬입니다... 아직 공유되지 않은 커밋이라도 수정 작업 중에 반영된 내용으로 이 후 커밋들과 충돌이 발생해서 회복하기 힘들게 꼬일 수 있습니다. 현재 수정하는 부분이 이 후 커밋에서 다르게 수정된 경우 파일 추가 삭제 등으로..

IT/VCS 2022.07.26

[git] 한 개의 커밋을 둘 이상으로 분리하기

아직 push 하지 않은 커밋이라는 기준으로 설명합니다. 이미 push 한 커밋을(혼자 쓰는 저장소라면 상관없다고 생각합니다..) 변경시키는 것은 다른 참여자 저장소를 꼬이게 할 수 있으니 자제하시기 바랍니다. git log 에서 원하는 커밋 해시명을 맨 처음에서부터 7자 이상 복사합니다. 예를 들면, commit 7a8b9c1..... 라고 시작하면 7a8b9c1 을 복사합니다. git rebase -i 7a8b9c1 vim 또는 nano 형태 또는 이미 시스템에서 기본값으로 지정한 편집기에 pick 해시값 커밋로그 형태로 목록이 떠 있을 것입니다. 이제 7a8b9c1 가 있는 줄을 찾아 pick 이라고 되어 있는 것을 지우고 edit 로 바꿉니다. 참고로 vim 에서는 p로 커서를 이동한 다음 cw ..

IT/VCS 2021.01.14

[git]실수로 지운 커밋(commit) 살리기

기록용으로 남겨둡니다. 참고 사이트에 자세히 나와 있으므로 꼭 참고하시기 바랍니다. 0. 현재 저장소가 지저분(?)하지 않아야 합니다. git status 명령으로 확인해봅니다. git status nothing to commit, working directory clean 이런 결과이면 다음으로 넘어가면 되지만 아직 수정 중인게 있는데 어쩌란 말야 하는 상황이라면 깔끔하게 임시 보관함(stash)에다 저장해줍니다. git stash save "imsi" Saved working directory and index state On master: imsi HEAD is now at a104848 [printf-define] Add simple example imsi 내용으로 자세한(!) 설명을 남기고 저장..

IT/VCS 2014.09.02