자가라 노트

GIT 7

[git] 기본용어

나를 위한 기본용어 Repository : 작업저장소 Remote : 원격저장소 Local : 로컬저장소 Origin : 기본 업스트림 저장소 ≒ Remote, 원격 저장소 원본 Master : 로컬 메인 Branch : 메인 파생 레이어? Branch ⊇ Master Checkout : 현재 작업을 작업트리의 특정 구간으로 변경 Merge : branch간 합치는 작업 HEAD : 현재 작업중인 Branch의 최근 갱신 내용을 가리키는 포인터. Fetch : 원격 HEAD를 참조해 로컬에 없는 객체를 생성 Commit : 변경내역을 저장하는 작업 및 그 내용 단위 명령어 git Init git clone git fetch git add git commit git push git pull git stas..

GIT 2021.06.18

[git]add, commit, push

1. git add 이 왼쪽에 쌓이는 HEAD와의 변경점들을 말하는 것같다. commit전에는 add를 아무리 많이해도 git 저장소에는 영향을 주지않는다. $git reset HEAD // file 내의 변경점을 되돌리는 듯? 파일변경 -> unstaged상태 -> add -> staged상태 -> commit 혹은 취소하여 다시 unstaged상태 내가 git을 유니티로 밖에 안써봐서 add를 써본적이 없어 잘모르겠지만 왜 파일이 변경된파일이면서 unstaged상태? 변경되었지만 저장소에 저장될 정도는 아닌 파일이란 뜻일까.. 2. commit commit 취소 $git reset --soft (HEAD^ 혹은 commit id)// git add 상태로 $git reset (--mixed) (HEA..

GIT 2021.06.18

[git]이전 커밋으로 돌아가야 할때2 (git branch checkout)

사실 이게 처음에 했던 이상한 방법이다. 1. 1편과 같이 log/reflog를 사용해 commit id를 찾았다. 2. 해당 키로 checkout를 했다. $git checkout 그냥 잘 몰랐고 branch 넣는곳에 commit id를 넣었다. 그랬더니 잘 열였다? 3. 그런데 branch 이름이 이상했다. checkout에다가 넣고 열었더니 branch화되어서 열린 것 같았다. (내 생각) 열리긴 열였지만 제대로된 branch도 아닌거같고.. 4. Detached HEAD로 찾아봤다. HEAD -> branch -> 특정commit 순서로 가리키는 상태가 'attached HEAD'였다. HEAD에서 바로 특정 commit을 가리킬때를 'Detached HEAD'라고 한다. 그리고 역시 branch..

GIT 2021.06.18

[git]이전 커밋으로 돌아가야 할 때

이전 커밋으로 돌아가야 했었다.. 그때 내가 했던 이상한? 방법에 대해 기록하고자 한다. 최종 git push 이후에 이상한 commit을 몇개 해버려서 이전 commit으로 되돌아가야 하는 상황이었다. 1. 일단 git log/reflog로 돌아가야하는 commit의 id를 찾았다. 2. 해당 commit으로 이동 $git reset --hard 3. 여기서 끝나면 좋은데 분명 commit엔 아무것도 안잡히는데 pull이 4개씩이나 쌓여있었다... 그렇다고 pull을 땡겨버리니 다시 원상복귀... 4. 뒤져보니 원격 origin/master에 실수로 넣은 commit이 그대로 있었다...! git이 로컬에 있는 branch만 잘 바꾼다고 되는게 아니라 commit-push로 원격origin/master..

GIT 2021.06.18

[git]리비전 조회

리비전(revision) ≒ commit history (이전 커밋 기록) 0. 조회하고자 하는 branch를 선택한다. (git checkout ) log $git log git log사용시 아래와 같이 40자의 해쉬코드와 커밋 메세지등이 나온다. commit, checkout, merge등 사용했던 모든 log가 출력된다고 한다. $git reflog reflog git reflog는 좀 더 간략하게 보기쉽게 해준다. 앞의 8자리키로 40자보다는 간편하게 찾을 수 있다. 최근 몇달의 기록만을 임시보관하여 보여주기 때문에 모든 commit이 뜨진 않는다고 한다. 순전히 로컬이라고 한다. log 종료 모든 로그가 출력되면 종료된다고 하는데 이전에 로그에서 나가고 싶다면 'Q'를 눌러 종료할 수 있다.

GIT 2021.06.18

[git] branch 관련 명령어

Branch 생성 $git branch $git branch newbranch Branch 조회 $git branch // 로컬 branch 목록 $git branch -r // 원격 branch 목록 $git branch -a // 모든 branch 목록 $git branch// 현재 branch에는 *표시가 뜬다 * master branch1 branch2 Branch 전환 $git checkout // 기존 branch에서 checkout하고 새 branch로 변경 Branch 원격저장소 추가 $git push origin 로컬 Branch를 원격 Branch와 연동 $git branch --set-upstream-to origin/ 원격 Branch 가져오기 $git pull origin 원격br..

GIT 2021.06.18