[Git] cherry-pick


学習の動機

  • 私だけのYouTube教室の第1段階のタスクコメントを行う過程で、私と評論家のコミュニケーションは少し離れています.
  • ローカルでのみ送信され、プッシュされない場合はマージされます.🤣🤣

  • 第2段階のタスクを行うには、woowa-course 나만의 유튜브 강의실を上流に指定し、私がマージしたブランチをrebaseに指定する必要があります.

  • しかし、私がやり直すと、地元で提出した履歴を反映することはできません.
  • 그 때 든 생각!提出履歴は多くありませんが、一つ一つ再コードしますか?
  • しかし、これは開発者の考えではありませんよね?きっと方法があると思い、勉強を始めました.
  • git cherry-pickの使い方

    git cherry-pickは、特定のブランチから必要なコミットを取得するために使用される.

    cherry-pickコミット


    (Aはハッシュのコミットです.)
    git cherry-pick A
    提出したハッシュ表をどうやって確認しますか?
    必要なコミットハッシュ値は、git log --onelineコマンドによって取得できます.

    cherry-pick複数コミット


    (AとBはハッシュのコミットです.)
  • からAをコミットB Cherry-pick
  • にコミット
    git cherry-pick A^..B
    Aを無視してAからBまでcherry-pick
    git cherry-pick A..B

    ウトコナのYouTube教室タスクで採用した方式です。

  • Git初心者なので、これを明らかにするのに3時間かかりました.😭😭
  • ですが本当にシャベルの時間のようにたくさん収穫があって良かったです
  • PRメッセージは完了しましたが、ローカルにコミット履歴があります.
    1. git push (woowacourse는 반영 안되고 fork한 저장소에만 적용된 상태)
    2. git checkout main
    3. git remote add upstream [우아코스 주소]
    4. git fetch upstream [내 브랜치]
    5. git rebase upstream/[내 브랜치] 인데 이렇게 하니깐 충돌이 안나네요)
    6. git checkout [step1]
    7. git log —oneline
        - 로그를 확인하고 어디서 부터 어디까지 적용할지 커밋id를 가져와요.
    8. git checkout -b [step2]
    9. git cherry-pick 커밋해쉬..커밋해쉬

    考えてみれば...


    ウトコで最初のミッションレーシングカーを作った時です.
    その時はレベールの存在を知らずに第2段階が始まった
    もちろんstep 1 mergeの登場に伴い、私が受け取ったブランチと上流ブランチの싱크가 깨지게 되었죠.この部分を勉強しても理解できないので、コメンテーターに聞いたことがあります.

    上流ブランチに基づいてブランチを新規作成し、git cherry-pickを介して手順2のコミットを再実行します.
    このような方法
  • cherry-pickとは何かを知ってから、当時の評論家がなぜ私にこの方法を教えてくれたのか理解しました.