목록reset (3)
Soy's Devlog

작업한 것을 원격에 업로드 하기 위해 pull을 받고 진행하려 했는데 경고 메세지가 보여졌다. pull 은 완료되었다 하여 일단 commit 후 push 를 하였더니 역시나 아래와 같이 거부되었다. push 하려니 pull 을 먼저 수행하라 하고 pull 하려니 에러가 나는 상황...😅 다시 commit reset해 보고 pull시도를 하니 이전에 push한 원격의 파일을 덮어쓴다는 경고가 떴다. 파일을 옮기거나 삭제한 후 다시 병합하면 되겠지만 너무 비효율적이고 여러사람이 함께 사용하는 레파지토리라면 위험한 액션이다. 시도한 것들 You have divergent branches and need to specify how to reconcile them. You can do so by running o..

git 사용 중 특정 명령을 수행 후 다시 취소 시켜야 하거나, 특정 시점으로 이동해야 할 때가 있다. 충돌이 발생할 때에도 유용하게 사용할 수 있는 방법이라 정리해 보았다. git reset //특정파일 하나의 add를 취소 git reset HEAD 파일명 //파일명을 명시하지 않으면 전체 add내역을 취소한다. git reset HEAD 이렇게 add한 작업에 대해 취소하는 방법과 옵션은 간단하다. 커밋을 이미 한 경우에도 취소가 가능하다. //직전커밋 취소 git reset HEAD^ //마지막 n개의 커밋 취소 git reset HEAD~n //원격저장소의 마지막 커밋 상태로 되돌림 git reset --hard HEAD //커밋취소, unstaged상태, working directory에서 삭..

로컬에서 원격에 push를 하려고 하는 중 해당 에러를 만났다. 생각 해보니, 깃에서 레포를 신규로 먼저 생성한 후 로컬저장소를 생성 했는데 로컬에서 작업한 것을 원격에 push하려고 하니 pull을 먼저 수행한 후 진행 하라고 알려주는 것이었다. 원격에 readme.md 파일까지 생성해 놓고 pull을 하지 않은 채 push를 하니 당연히 reject될 수 밖에 😏 git은 로컬저장소와 원격저장소간에 merge를 진행하지 않고 push할 경우 reject 처리를 한다. 1. 서로 관련 기록이 없을 때 git 공식 문서에 따르면 merge 시 공통 조상을 공유하지 않는 기록의 병합을 기본적으로 거부한다고 한다. 각각 독립적인 프로젝트나 저장소를 병합하려 할 때의 기본적인 모습인데 이것을 무시하고 병합을..