본문 바로가기

Git

(6)
[Git]Git Interactive tutorial6 마지막이다. 1. 9천번이 넘는 리베이스 우리의 목표이다. 여기에서 어떻게하면 목표처럼 만들 수 있을까? 나는 각각의 브랜치를 checkout 하고, rebase해 주는 방법을 생각했다. (1) git checkout bugFix HEAD를 bugFix에 두었다. (2) git rebase main bugFix의 복사본을 main의 자식으로 붙여넣는다. (3) git checkout c6 side로 HEAD 이동 (4) git rebase bugFix side를 포함한 부모 요소를 모두 bugFix에 rebase한다. (5) git checkout another (6) git rebase side another의 복사본까지 side의 자식으로 넣어졌다. (7) git branch -f main c7' m..
[Git]Git Interactive tutorial5 4단계를 어제에 이어 풀어볼 차례이다. 3. 커밋 갖고 놀기2 interactive rebase를 사용하면, 충돌이 일어날 수 있다. 그러니 cherry-pick을 사용해보자 우리의 목표이다. 시작 부분이다. main에서 newImage를 cherry-pick하고, 다시 main에서 newImage와 caption을 cherry-pick하면 되지 않을까 싶다. (1) git checkout main : HEAD를 main으로 checkout (2) git cherry-pick newImage : newImage를 복사하여 c1 아래로 둔다. 하지만, 여기서 main이 c2의 복사본으로 왔지만, c1의 자식으로 c2와 c3의 복사본이 와야하기 때문에 main이 다시 c1으로 이동해야 한다. (3) git ..
[Git]Git Interactive tutorial4 4단계를 풀어볼 차례이다! 1. 로컬에 쌓인 커밋들 cherry-pick이나 rebase -i를 사용하여 자유롭게 이동할 수 있도록 하자. 우리의 목표이다. 목적을 달성하기 위해서는 HEAD를 main으로 checkout 한 후 c4를 main에서 cherry-pick 하면 해결되지 않을까 했다. (1) git checkout main : HEAD를 main으로 옮긴다. (2) git cherry-pick bugFix : bugFix를 복사해 main아래로 붙여넣는다. 2. 커밋들 갖고 놀기 git commit --amend : 커밋 내용을 정정 rebase -i를 사용하여 자유롭게 이동시켜보자!! 왼쪽은 현재 상황이고 오른쪽은 목표이다. rebase -i를 사용하여 자유롭게 갖고 노는 시간을 가져봐야 ..
[Git]Git Interactive tutorial3 3단계를 풀어볼 차례이다! 1. Cherry - Pick git cherry-pick 와 같이 작성하며 HEAD의 아래의 모든 커밋들을 복사하는 것이다. 현재 상태가 이렇다면, C2와 C4를 복사하여 HEAD(main) 아래로 넣고싶을 경우 git cherry-pick c2 c4 명령어를 사용하면. 이런 결과가 출력된다. 아래는 목표이다. 목표를 보면 순서대로 bugFix, size, another 브랜치를 복사하여 아래에 넣는 것 같다. 시도해보자. (1) git cherry-pick bugFix : bugFix를 복사하여 main아래로 복사붙여넣기 한다. (2) git cherry-pick c4 : c4를 복사하여 main아래로 복붙한다. side같은 이름이 아닌 c4로 불러올 수 있다. (3) gi..
[Git]Git Interactive tutorial2 2단계를 풀어볼 차례이다! 1. HEAD HEAD는 현재 체크아웃된 커밋을 가르킨다. → 현재 작업중인 커밋 목표를 보니 아마도 bugFix에 숨어있는 HEAD를 꺼내보라는 것 같다. 커밋에 직접 Checkout 해주면 되지 않을까? 결과는 성공이다! 하지만, HEAD를 꺼내기 위해 HEAD를 checkout 해보았지만 실행은 되지만 되지 않았고 c4라는 커밋에 직접 checkout 해주니 HEAD가 나타났다! 2. 상대 참조(^연산자) Git은 커밋들을 해시로 구분하고 있고, 그곳으로 시간여행을 할 수 있다. 그리고, 그곳에 도달하여 작업을 진행할 수 있다. 커밋을 움직을때 한 칸은 ^, 여러 칸은 ~ 을 사용한다. 나는 바로 c3커밋을 checkout 해주면 되지 않을까 라는 생각을 하게 되었다. 결..
[Git]Git Interactive tutorial Learn Git Branching 이용 https://learngitbranching.js.org/?locale=ko Learn Git Branching An interactive Git visualization tool to educate and challenge! learngitbranching.js.org 강의를 들으면서 interactive Git 을 알게되었고, 연습할 수 있는 시간을 받았다. git에 대한 명령어들을 GUI 환경으로 직접 확인하면서 연습할 수 있는 사이트이다. 나중에 협업을 위한 툴인 Git의 명령어들을 알게되고, 나중에 도움이 많이 될 것 같으니 해보기로 했다. 1. Git Commit git commit은 모든 전에있던 파일과 비교하여 스냅샷을 기록한다. 목표는 git c..