
이제 배워 볼 다음 개념은 "작업을 여기저로 옮기기" 입니다. 다시 말해, 개발자들의 언어로 "이 일은 여기에, 저 일은 저기에 두고 싶어" 정확하고 우아하고 유연하게하는 것입니다.
이 시리즈의 첫 명령어는 git cherry-pick 입니다. 다음 과 같은 형태로 사용합니다:
git cherry-pick <Commit1> <Commit2> <...>현재 위치(HEAD) 아래에 있는 일련의 커밋들에대한 복사본을 만들겠다는 것을 간단히 줄인 말입니다.
master 와 master 로 복사하고 싶은 작업이 있는 브랜치 side 가 있습니다.
이것은 rebase 를 통해서 할 수 있습니다, 하지만 체리-픽이 이 작업을 어떻게 수행하는지 확인해 봅시다.
git cherry-pick C2 C4


git cherry-pick c3 c4 c7
.png)
git cherry-pick 은 여러분이 원하는 커밋이 무엇인지 알때(각각의 해시값도) 아주 유용합니다 -- 체리-픽이 제공하는 간단함은 아주 매력적입니다.
원하는 커밋을 모르는 상황에는 인터렉티브 리베이스를 사용하면됩니다 -- 리베이스할 일련의 커밋들을 검토할 수 있는 가장 좋은 방법입니다.
인터렉티브 리베이스가 의미하는 뜻은 rebase 명령어를 사용할 때 -i 옵션을 같이 사용한다는 것입니다.
이 옵션을 추가하면, git은 리베이스의 목적지가 되는 곳 아래에 복사될 커밋들을 보여주는 UI를 띄울것 입니다. 각 커밋을 구분할 수 있는 각각의 해시들과 메시지도 보여줍니다.
"실제" git 에서는 UI창을 띄우는것 대신에 vim과 같은 텍스트 편집기에서 파일을 엽니다.
인터렉티브 리베이스 대화창이 열리면, 3가지를 할 수 있습니다:
pick을 이용해 지정할 수 있습니다.git rebase -i HEAD~4

.png)
git rebase -i HEAD~4
