git
-
fatal: refusing to merge unrelated historiesgit 2019. 12. 12. 00:17
repository와 README.md 생성 후 로컬저장소랑 연결했더니 push가 안된다..!!! 오류 원인: 공통된 commit 포인트가 없다! push 명령은 로컬 저장소의 commit 목록과 원격저장소의 commit 목록을 비교한다. 그 후 원격 저장소의 마지막 commitID 와 동일한 commitID를 가진 로컬 저장소의 commit 시점을 찾은 뒤, 원격저장소의 마지막 commit과 연결한다 즉 원격 저장소에서 readme를 추가하는 commit이 원격 저장소에는 존재하지 않고, 따라서 현 상태에서는 둘을 연결할 수 없다 해결 방법: 1) 원격저장소를 삭제하고 다시 만든다 2) fetch나 pull 명령어로 원격 저장소의 마지막 commit을 로컬 저장소의 commit로그 맨 앞으로 받아온다 ..
-
clonegit 2019. 12. 10. 01:17
1) clone (1) 프로젝트의 주소를 복사함 (2) git clone +주소 + 디렉토리이름 2) GitHub원격저장소와 연결 (1) repository를 먼저 만들고 clone을 다운받아 로컬저장소를 만든 후 작업하기 (2) 이미 로컬저장소에서 한 작업을 원격저장소에 올리기 ***** repository 만들기 ***** 초기화 한 디렉토리 만들기 ***** git remote add 별칭 repository주소 ***** git push -u origin master **오류 중간에 global username을 바꿔서..ㅎㅎ 계속 push권한을 얻지 못했다 username 변경때문에 에러가 나는거라 repository앞에 username을 붙여서 remote해도 계속 오류가 남... 해결 : 윈..
-
원격저장소 만들기git 2019. 12. 9. 22:26
1) 로컬 저장소와 2) 작업은 하지않고 저장 기능만 하기위해 bare옵션을 건 저장소를 만든다(원격저장소) git init --bare 저장소이름 파일 목록을 살펴보면 .git안에 들어가있는 파일들이 생성되었음을 알 수 있다. working copy가 없는 저장소!! ** 로컬저장소 : local , 원격저장소 : remote 생성 3) 로컬저장소와 원격저장소 연결 git remote add + 연결대상의 경로 를 입력하는데 경로가 너무 길기때문에 origin 옵션을 걸어 저장한다 확인해보면 연결 되었을을 알 수 있다 **저장소를 지우고 싶다면 : git remote remove origin 4) git push git push --set-upstream origin master : local에서 pu..
-
reset/checkoutgit 2019. 12. 6. 00:00
1) commit 3의 상태로 돌리고 싶을 때 git reset + commit ID 가장 최신 commit이 commit 3으로 변경되었다 gistory에서도 최신 commit이 3임을 알 수 있다 2) reset을 취소하고싶을 때 git의 ORIG_HEAD에는 위험한 명령을 수행하기전에 현재 최신 버전의 commit을 저장해두고 수행한다 git reset --hard ORIG_HEAD 최신 commit이 다시 4가 되었다 .git\logs\refs\heads\master 에 보면 commit의 log를 확인할 수 있다 git reflog 3) commit ID에 checkout할 수 있다 git checkout + commit ID 현재 HEAD는 master가 아닌 commit 3의 commit ID
-
merge/conflictgit 2019. 12. 5. 19:52
[ 1 ] branch를 생성했을 때 git 내부 상황을 알아보자 1) 저장소를 초기화하면 HEAD가 자동으로 생김. HEAD는 refs/heads/master 가리킴 2) 파일 생성 후 commit 하면 refs/heads/master 가 생성되고 이것은 최신 commit의 object ID 와 object ID를 클릭하면 그 내용을 알 수 있다 3) git log를 하면 가장 최신 commit을 알 수 있는데 ** 저장소를 초기화하면 HEAD가 생성되고 -> HEAD는 refs/heads/master 가리키고 -> refs/heads/master에는 현재 checkout 된 branck의 가장 최신 commit의 object ID가 있고 여기에는 최신 commit의 정보와 이전 commit(paren..
-
stashgit 2019. 12. 5. 18:05
stash stash: 감추다 (한창 A브랜치에서 작업하다가 B브랜치로 checkout하여 작업 할 일이 생길 때!! A를 commit하긴 조금 애매할 때!!) 1) master branch에서 f1.txt 생성 후 commit 2) exp branch 생성하여 f1.txt 수정 ** 이 때 HEAD를 master branch로 옮기고 git status를 하면 master branch에서도 f1.txt가 수정상태로 뜬다 이렇 때 사용하는게 git stash 3) git stash를 적용하면 working directory, index, WIP (work in process: 현재 작업중인 것 )이 저장되었다고 나온다 4) 다시 git status를 치면 아무것도 안뜸 5) 다른 branch에서 작업을 ..