1. 프로그래밍/1-1. Git

    Git - [ eclipse 프로젝트 Github 올리기 ]

    프로젝트 우클릭 -> Team -> Share Proejct 클릭 Use or create repository in parent folder of project 선택 -> 프로젝트 선택 -> 왼쪽 아래 Create Repository 클릭! 그런 다음 git repository창을 띄워보자. window -> Show View -> others... 클릭 git 검색해서 Git Repositories 선택하고 OK 그러면 Repository가 열린다. 여기서 Remote 우클릭 -> Create Remote... 클릭 그대로 OK 클릭 깃허브에 올릴 레포지토리의 주소를 복사해와서, 이 창에서 오른쪽에 Change... 클릭 그러면 복사한 깃허브의 레포지토리 주소가 뜬다. 아래쪽에 깃허브 아이디와 비밀번호..

    Git - [ eclipse 프로젝트 Github 올리기 ]

    Git - [이전 커밋 이름 변경하기]

    여러 커밋 또는 이전 커밋에 대한 메시지를 수정해야 하는 경우 대화형 rebase를 사용한 다음 강제로 push하여 커밋 기록을 변경할 수 있다. 1. git rebase -i HEAD~n 명령을 사용하며 최근 n개의 커밋 목록을 표시 2. 변경하려는 각 커밋 메시지에서 pick을 reword로 변경 3. 커밋 목록 파일을 저장하고 닫기 4. 각 커밋 파일에 새 커밋 메시지를 입력하고 파일을 저장한 다음 닫기 커밋 히스토리 확인 결과 잘 변경되어있음!! 5. 변경 사항을 GitHub에 푸시할 준비가 되면 push --force 명령을 사용하여 이전 커밋을 강제로 push하기

    Git - [이전 커밋 이름 변경하기]

    7. Git 자유자재로 활용하기 (2)

    7. 적용한 작업 내용은 스택에서 없애기 이전 영상에서 배웠던 커맨드들을 잠깐 정리해보겠다. 1. 작업 내용 저장 : git stash 2. 작업 내용 조회(=스택 살펴보기) : git stash list 3. 작업 내용 적용 : git stash apply [작업 내용의 아이디] * 작업 내용의 아이디를 생략하면 가장 최근의 작업 내용이 적용됨 4. 작업 내용 제거 : git stash drop [작업 내용의 아이디] * 작업 내용의 아이디를 생략하면 가장 최근의 작업 내용이 제거됨 이전에 적용(apply)한 작업 내용은 스택에서 제거(drop)해주는 게 좋다고 했었다. 그래서 git stash apply를 쓰고 git stash drop을 바로 해줬었는데 사실 이런 식으로 번거롭게 할 필요없이, gi..

    7. Git 자유자재로 활용하기 (2)

    7. Git 자유자재로 활용하기

    1. git reset을 하고 나서 돌아오려면? git reset은 HEAD가 가리키던 브랜치가 가리키는 커밋을 바꾸는 커맨드라고 했다. git reset으로 뒤의 커밋으로 돌아가면, 이후의 커밋들은 어떻게 되는 걸까? 커밋 히스토리에서 가장 처음의 커밋으로 reset 해 보겠다. calculator.py 파일의 내용을 보면 제일 처음 커밋했던 내용으로 돌아갔음을 확인할 수 있다. 커밋 히스토리를 보아도 가장 처음 커밋 하나만 출력되고 있다. 이때까지 한 커밋들은 삭제된 것처럼 보이지만, 사실은 아니다! reset 해도 그 이후의 커밋들이 삭제되는 건 아니다. 다시 이전의 커밋 히스토리를 보고 가장 최신의 커밋으로 reset 해 보겠다. 그런 다음 커밋 히스토리를 보아도 내역들이 모두 출력되고 calcu..

    7. Git 자유자재로 활용하기

    6. Git 협업하기

    1. git push 전에 git pull을 해야하는 경우가 많다 이번엔 git push를 하면서 자주 만나는 상황을 알아보겠다. premium 브랜치의 license 파일에 기업용 가격에 대한 내용을 추가하고, premium 브랜치에 커밋까지 완료했다. 깃허브의 premium 브랜치 license 파일에는 교육용 가격에 대한 정보를 추가하고 커밋메세지를 남겨 주었다. 그러면 현재는 로컬 레포지토리와 리모트 레포지토리의 최신 커밋 내용이 각각 다르다. 로컬 레포지토리에는 기업용 가격에 대한 정보가, 리모트 레포지토리에는 교육용 가격에 대한 정보가 추가되어있다. 이렇게 한 프로그램을 각각 다른 개발자가 다른 방식으로 개발하는 일은 매우 흔하다. 이 상태에서 로컬 레포지토리에서 리모트 레포지토리에 git p..

    6. Git 협업하기

    5. 브랜치 사용하기 (2) - [ git reset / checkout / merge ]

    8. HEAD와 브랜치의 관계 main 브랜치에서 커밋 히스토리를 살펴보면 HEAD가 main을 가리키고 있다.(HEAD -> main) 앞서 HEAD는 어떤 커밋 하나를 가리키고, branch는 하나의 코드 관리 흐름이라고 했다. 둘은 무슨 관계길래 HEAD가 브랜치를 가리키는 형상을 띠고 있을까? 먼저 branch는 코드를 관리하는 하나의 흐름인데, HEAD처럼 어떤 커밋을 가리키는 존재이다. 앞으로는 포인터라고 설명하겠다. 우리가 커밋을 처음으로 하면 main 브랜치가 첫번째 커밋부터 시작해서 매번 새롭게 생기는 커밋을 가리킨다. 깃에서 커밋은 이전 커밋에 대한 정보를 가지고 있으므로 main 포인터가 가장 최신의 커밋을 가리키고 있다고 해도 결국 그 이전 커밋으로 하나씩 거슬러 올라갈 수 있기 때..

    5. 브랜치 사용하기 (2) - [ git reset / checkout / merge ]