Code/Git

    [Git] warning : LF will be replaced by CRLF in ~~.The file will have its original line endings in your working directory

    git으로 어떤 파일 하나를 올리려고 보니 아래와 같은 워닝이 떴다. $ git add testfile.ipynb warning: LF will be replaced by CRLF in testfile.ipynb. The file will have its original line endings in your working directory 에러는 아니라서 넘어갈까 싶었는데 그래도 찝찝해서 찾아보니 유닉스와 윈도우의 whitespace 표현 차이라고 한다. 유닉스 시스템에선 한줄의 끝이 LF(Line Feed)로 이루어지는 반면, 윈도우는 줄 끝이 CRLF(Carriage Return and Line Feed)로 이루어지기 때문에 어느쪽을 선택할지 Git에게 혼란이 온다고 한다. 그래서 결론 해결은 cor..

    [Git] .gitignore 설정하기

    깃허브를 사용하다 보면 올리지 말아야 하는 파일들의 패턴이 존재할 때가 있다. 가령 대용량 csv 파일(프로젝트에서는 대부분의 csv 파일은 ignore한다) 이나, .ipynb_checkpoints/ excel 파일 등이 있는데, git을 수정할 때마다 untracked file로 뜨고 있으니 거슬리기도 하고, 혹여나 git add . 를 해서 잘못 올릴 수도 있으니 이에 대한 방안으로 .gitignore를 사용한다. .gitignore란? .git ignore 파일은 git 버전관리에서 제외할 파일 목록을 지정하는 파일이다. 위에서 말한 프로젝트 설정파일이나, 주피터를 만들때 생성되는 .ipynb_checkpoints/ 파일들이 대부분이다. 이런 관리할 필요가 없는 파일들을 git이 track(관리)..

    [git] git push reject error 해결

    로컬 레파지토리에 새로운 파일을 생성한 후 git에 올리려고 하는데 다음과 같은 에러가 발생했다. $ git push origin master To https://github.com/XXXXXX/XXXXXXX.git ! [rejected] master -> master (non-fast-forward) error: failed to push some refs to 'https://github.com/XXXXXX/XXXXXXX.git' hint: Updates were rejected because the tip of your current branch is hint: its remote counterpart. Integrate the remote changes (e.g. hint: 'git pull ....

    [Git] git commit 취소하기, git commit 수정하기

    git을 사용하다 보면 git commit의 내용을 수정하거나 내용을 취소하고 싶을 때가 있다. 이와 관련된 명령어들을 정리해 보려고 한다. 이부분은 가끔 나도 헷갈릴 떄가 있어서 기록용으로 저장해놓는다. 그전에 git add를 취소하는 방법을 알고 싶은 사람은 아래 포스팅을 참조하면 된다. [Git]Git add 명령어 되돌리기 보통 git 명령어를 사용하다 보면 git add를 잘못해서 뒤로 돌려야 하는 경우가 심심찮게 일어난다. 단순히 수정해서 다시 올려야 하는 경우에는 수정하고 다시 git add를 하면 되지만, 아직 staging 할 everywhere-data.tistory.com git commit 수정하기 git commit을 너무 빨리 해서 add를 추가로 해야할 때, commit mes..

    [Git]Git add 명령어 되돌리기

    보통 git 명령어를 사용하다 보면 git add를 잘못해서 뒤로 돌려야 하는 경우가 심심찮게 일어난다. 단순히 수정해서 다시 올려야 하는 경우에는 수정하고 다시 git add를 하면 되지만, 아직 staging 할 준비가 안됐다면 다시 unstaging 상태로 되돌려야 한다. 그러할 때 사용하는 유용한 명령어가 있다. git reset git reset 명령어는 유용하기도 한데 상당히 위험한 명령어일 떄도 있다. 기존에 수정하던 작업들을 전부 뒤로 돌릴수도 있는 명령어이기 때문이다. git reset --hard는 특히나 더 위험하므로 함부로 사용하지 않는 것으로 한다. 우선 우리는 git add를 되돌리는 것에 대해 알아야 하기 때문에 나머지는 추후 포스팅에서 남겨보기로 한다. 처음 참고 사이트에서 ..

    [Git] git bash 한글이름 파일 깨짐 해결

    파일을 한글 이름으로 새로 생성할 때 git bash에서는 git status를 할 때 깨지는 현상이 발생했었다. $ git status On branch master Untracked files: (use "git add ..." to include in what will be committed) "\354\236\204\354\213\234\353\254\270\354\204\234.txt" nothing added to commit but untracked files present (use "git add" to track) 는 현상이 발생했이러할 때 아래 명령어를 실행하면 간단하게 해결된다. git config --global core.quotepath false $ git status On br..

    [Git] git commit 히스토리 조회하기

    git의 최고의 장점 중 하나가 버전 관리가 된다는 것인데, 이것이 다른 말로 하면 이력 관리가 가능하다는 말이다. git의 이력을 관리하면서 이전 버전으로 돌아갈수도, 거기서 수정을 시작할 수도 있다. 오늘은 git의 이력을 조회하는 명령어로 포스팅을 해보려 한다. git을 사용하면서 소스코드를 수정하다보면 수많은 commit을 수행한다. 그러다보면 언제 어떤 commit을 실행했는지 확인해야 할 때가 있다. 그때는 "git log"라는 명령어를 사용하면 된다. 현재 계속 사용하고 있는 "temp" repository에서 git log를 실행해보려 한다. $ git log commit 63d3f22539a85ba59fde6cbc7ddf7982519500b8 (HEAD -> master, origin/m..

    [Git] Staging이 뭐지?? - Git에서 파일의 상태 알기

    내가 처음 Git을 접했을 때 제일 당혹스러웠던 것이 Staging의 개념이다. 그리고 그 개념을 알고나서 "Git이 정말 똑똑하구나!"하고 느꼈던 지점도 Staging이었다. 평소 우리가 단순히 사용하는 파일 업로드/다운로드 개념과 가장 큰 차이를 가지고 있는게 이 부분일 것 같다. 그럼, Git의 status 개념에 대해 자세히 알아보도록 하자. local에 git 저장소를 하나 만들고 git remote add를 통해 저장소를 연결하고나면 레파지토리에 있던 모든 파일들이 로컬과 연동된다. 워킹 디렉토리에 있는 모든 파일들은 크게 두 가지 상태로 나뉜다. Tracked(관리 대상) Untracked(비관리 대상) 저장소에서 관리하고 있는, 즉 git이 알고있는 모든 상태, push하기 전의 모든 상태..