- Today
- Total
목록Programming/Git (3)
개발하는 고라니
대부분 개인적으로 프로젝트를 하거나, 공부를 하는 차원에서는 Git 혹은 Github에 대해 저장하고, 불러오는 용도로만 써도 무방했다. 하지만 필드에서 협업을 하게되면 어쩔 수 없이 '더 공부해야겠구나' 느끼게 된다. 그 이유는 회사마다 코드를 관리하는 정책이 다르기 때문이다. 예를 들어, A 회사는 pull(fetch + merge)로 하고, B 회사는 squash merge로 하고, C 회사는 rebase를 쓴다. 혹은 rebase와 merge를 섞어서 쓰기도 한다. 마찬가지 이유로 구체적인 정책이 정해지진 않아왔지만, 최근 들어 모든 팀이 동일한 정책을 사용하기로 맞추어 졌고, Rebase를 사용하기로 했다. 하지만 나는 rebase가 뭔지 모른다. 그래서 실습하며 배워보고자 한다. Rebase ..
프로그래머스에서 Dev-Matching을 진행하고 아무 생각없이 깃허브에 올리는 실수를 했다. 이런 공개되지 않은 문제에 대해 외부로 유포하는 것은 자칫 일이 커질 수 있기 때문에 비영리적이라도 외부로 공개하는 것은 삼가하는게 좋다. 그래서 부랴부랴 깃허브에 올린 파일을 제거하는 법을 공부해보았다. 원격 저장소에 올린 파일 제거 git rm --cached [File Name] ex) git rm -r --cached .src/org/gorany/programmers/ABC git rm --cached .src/org/gorany/programmers/ABC/Solution.java -r : recursive 디렉터리 내 파일들을 삭제한다.
평소와 같이 프로그래밍을 하고, Github에 올리기 위해 $git push origin master 을 했으나, 위와 같은 오류가 발생했다. 구글링 한 결과, Git의 원격 저장소와 현재 로컬 저장소가 동기화되어있지 않은 것이 원인이라고 했다. 그러므로 해결방법 또한 동기화 시켜주면 된다고 한다. git pull --rebase 원격저장소별칭 master --> $git pull --rebase origin master 을 했으나, 다음과 같은 오류가 발생했다. Git에 익숙하지 않은 나는 이 또한 무엇인지 몰랐다... 그래서 더 찾아본 결과 $git push origin +master 하면 강제(?)로 push해주는 것 같다. 하지만 기존의 데이터는 보장하지 못한다고 한다. 만일 기존의 데이터가 신경..