git add . git add 명령어는 git에 저장되어 있는 HEAD의 위치에서 데이터가 수정되었거나, 새로 생겨난게 있을 시, 해당 순간에 대해 스냅샷을 찍어내는 역할입니다. 하지만 이러한 과정에 있어 실수 사례를 하나 제시해보겠습니다. 원래 위의 노란색으로 표시된 부분의 파일은 git add 리스트에 올라가선 안됩니다. 하지만 제가 실수로 위 2개의 파일에 대해서도 git add 리스트에 올리고 맙니다. 이런 경우엔 add로 올려진 파일에 대해 취소를 해야 합니다. 1. 시작 전, 원래 git add에 대해 취소를 하는 명령어는 다음 명령어로 해야 합니다, git reset HEAD file1_path file2_path ... 하지만 위 명령어는 너무 길다보니 입력하기 귀찮고, 이후에도 단어가 ..
Git에 add를 해서 자료를 올릴려 하는데 위와같은 이슈가 발생하게 됩니다. 해당 문제는 제가 Github에서 자료들을 pull 후, 일부 데이터에 대해서 삭제를 했었는데 삭제된 데이터에 대해 제대로 Git에 반영이 안되어 위와같은 문제가 생긴 것 같습니다. 해당 이슈에 대한 해결법은 간단히 터미널에 -all 혹은 -A 옵션을 주면 해결이 됐습니다. ## 삭제된 데이터에 대해 git에 반영하는 터미널 명령어 입니다. ## 다음 두 예시는 같은 결과를 낳는 코드입니다. git add --all . git add -A . 별첨 원래 삭제된 데이터에 대해서 Git에 반영을 하려면 따로 옵션을 입력해야 한다는거를 이번에 알았습니다. 그동안 --all(-A) 옵션을 입력을 안하고 해도 삭제데이터가 반영이 됐었는..
해당 글은 https://blog.naver.com/kbs4674/221516168217 로 부터 게시글이 이전되었습니다. 원래 이 이슈를 19년도 2월에 겪었는데.. 이제서야 글을 남기게 됩니다. 과거에 Github을 다루면서 발생했던 이슈를 소개하고, 해결과정을 애기나누고자 합니다! 상황 설명 : 커밋 기록을 지워도 접근이 가능한 과거 커밋 기록 개발을 하면서 하루는 중간에 커밋 기록을 전부 지워야 할 일이 있어서 프로젝트 파일 내에 있던 .git 파일을 지우고, 다시 .git 환경을 설정 후 재 배포를 하는 과정을 거쳤었습니다. rm -rf .git git init git add . git commit -m "[작업내역]" git push origin +master 그렇게 커밋기록을 다 지우고, 완..
해당 글은 https://blog.naver.com/kbs4674/221367354303 로 부터 게시글이 이전되었습니다. 중간에 .gitignore에 내용을 추가할게 있어서 .gitignore에 새로운 내용을 넣고, Github에 Push를 했는데 Commit 기록에 계속 남아있는(.gitignore의 내용이 적용이 안되는) 문제가 발생했었습니다. 이는 .gitignore은 과거의 기억만을 가지고 있을 뿐, 현재의 기억은 제대로 적용이 안되어 있어서 발생하는 이른바 캐싱 문제입니다. 이를 해결하는 방법은 Github에 캐싱된 내역들을 삭제하는 것입니다. 명령어는 간단합니다. git rm -r --cached . 위 명령어를 입력해주신 뒤, 수정된 .gitignore에 대해 commit 후, push를 ..
해당 글은 https://blog.naver.com/kbs4674/221215364595 로 부터 게시글이 이전되었습니다. Github 작업을 하면서 만약 Private Git 저장소를 통해 작업이 이뤄질 경우 Push, Pull 작업을 할 때 마다 계~속 암호를 묻곤 합니다.한 두번 묻는거면 좋겠는데 계에에속 물어보니까 슬슬 진절머리가 나더라고요..이 글 바로 전 글에는git config --global credential.helper 'cache --timeout 7200'위 명령어에 대해 소개를 했었는데, 이 명령어는 한시적으로만 안 물을 뿐, 결국은 나중에 또 계정정보를 묻게 되어있습니다.그래서 이번에는 영구적으로 Github 계정정보를 묻지도 않는 SSH-Keygen에 대해 소개하고자 합니다. ..
해당 글은 https://blog.naver.com/kbs4674/221198239997 로 부터 게시글이 이전되었습니다. Github 작업을 하면서 만약 Private Git 저장소를 통해 작업이 이뤄질 경우 Push, Pull 작업을 할 때 마다 계~속 암호를 묻곤 합니다. 한 두번 묻는거면 좋겠는데 계에에속 물어보니까 슬슬 진절머리가 나더라고요.. 하지만 이런 귀차니즘을 조금이나마 덜어주는 명령어가 있습니다. git config --global credential.helper 'cache --timeout 7200' 바로 위 명령어인데요, 위 명령어를 터미널에 작성하면 "7200시간동안 메모리에 캐싱된 상태로 인증정보를 저장한다." 라는 의미로서 인증기록이 보존됩니다. 하지만 위 명령어는 터미널에 ..
해당 글은 https://blog.naver.com/kbs4674/221174678439 로 부터 게시글이 이전되었습니다. Git pull을 하는데 갑자기 Conflict 에러가 발생했습니다! 이럴 때는 의외로 간단한 해결방법이 있는데 바로 코드 병합(Merge) 입니다. Git 충돌 (refusing to merge unrelated histories) 해결 : merge 이 방법은 서로 다른 코드간의 충돌 발생 시, 충돌되는 두 코드 중 하나를 선택해서 이용하는 방법이 되겠습니다. 1. 일단 자신의 코드를 스냅샷을 찍고, Commit을 찍습니다. 이 작업은 현재의 Commit과 Github 저장소의 Commit 과의 대조 후 어느 부분이 문제인지 찾아내기 위함입니다. git add . git comm..
해당 글은 https://blog.naver.com/kbs4674/221174578327 로 부터 게시글이 이전되었습니다. 쓸데없이 넘어가는 더미데이터 (필요없는 캐시파일 등) - .gitignore 사용하기 웹사이트 프로젝트를 주제로 작업을 하다보면 제 작업 프로젝트에 있던 캐시파일도 함께 전송되는 등의 문제가 발생됩니다. Github 저장소에 넘길 때 있어 캐시파일은 사실 넘길 필요도 없고, 괜히 넘기면 쓸데없는 용량만 차지하게 됩니다. 또한 더불어 환경변수 설정 내용이 담겨진 내용이 보내는 것을 방지할 때도 고려를 해야합니다. 이 문제를 해결하는 간단한 방법은 .gitignore 파일을 사용하는 겁니다. gitignore 파일은 서버에서 Github로 자료가 전송될 때, 전송되지 않길 희망하는 일부..