Skip to content

05. git rebase practice: problem

nephilim edited this page Feb 12, 2013 · 1 revision

주제: merge 내역 되돌리기 실습

  • 진행 요령
    1. git-test-l7.tgz를 다운받아 적당한 위치에 압축을 풉니다.

    2. test.txt의 내용을 확인합니다. 다른 줄과 달리 line5만 끝에 "이 추가되어 있습니다.

       line1
       line2
       line3
       line4
       line5"
       line6
       line7 
      
    3. 현재까지는 로컬에서만 작업이 이뤄졌고 서버에 반영하지는 않았으므로, 해당 시점으로 거슬러올라가 line5"를 line5로 수정하려고 합니다.

    4. 작업은 line과 master브랜치 merge후 line6과 line7이 추가된 상황입니다. (다음의 git-graph를 참고합니다.)

           * f70ec47 - (HEAD, master) line7 added (58 seconds ago) 
           * 8411c8c - line6 added (21 minutes ago) 
           * b781d82 - merged with line(3,4) (22 minutes ago) 
           |\ 
           | * 9c6da70 - (line) line4 added (2 weeks ago) 
           | * d9161bf - line3 added (2 weeks ago) 
           * | 07ea1bc - line5 added (37 minutes ago) 
           |/ 
           * 21bb6d0 - line2 added (3 weeks ago) 
           * 3a55ae2 - line1 added (3 weeks ago) 
           * a3d8a4f - initial commit (3 weeks ago)
      

주의

  1. 거슬러 올라가 이전 작업을 수정하는게 핵심입니다.
  2. git에 대한 이해를 높여주고, 다양한 명령어를 익힐 수 있어 해보는 실습입니다. 3에 유의해주세요.
  3. 서버에 반영했다면 commit history를 변경하는 작업은 위험합니다(이 경우, git revert를 참고하세요).
  4. 다양한 방법이 가능합니다만, 가능하면 히스토리 진행 내용을 반영하는 방법 또한 고민해 주세요.