기트를 사용하기가 힘들 때.

3302 단어 Git

오류의 근원은 지점에서 나온다!!


개발자 지점부터 끊어야 하는데 마스터 지점에서feature/hoge 지점을 잘랐어요.
벌써 세 번이나 제출했어...(´;ω;`)버퍼리픽 안 해요...
이럴 때!!
$ git log --graph --all --decorate --oneline

* 08733a5 (HEAD -> feature/test) test 1
* e7872a3 (master) master 2
| * 09140ba (develop) develop 1
|/  
* 8c001b5 master 1
↑의 예에서feature/test 지점은 마스터 지점에서 잘렸지만 개발자 지점HEAD에서 파생되었다.
$ git rebase --onto develop master feature/test
First, rewinding head to replay your work on top of it...
Applying: test 1

$ git log --graph --all --decorate --oneline
* 17f14a6 (HEAD -> feature/test) test 1
* 09140ba (develop) develop 1
| * e7872a3 (master) master 2
|/  
* 8c001b5 master 1

개발지점HEAD에서 파생feature/test지점

실패했지만, 취소하고 싶어!!

$ git revert -m 1 [commit-hash]
-mmainline의 뜻으로 어느 쪽의 부모가 제출할지 결정하고 1을 지정한 후에 합병 목표를 남긴다(합병원의 변경점은 Revert).

Stash pop 이후의 것을 다시 apply의 결말로 만들고 싶어요!!


bash
$ git stash pop
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   a.txt

no changes added to commit (use "git add" and/or "git commit -a")
Dropped refs/stash@{0} (a851cb4046b262e0406d604c3f3aa66df789530d)

$ git checkout .
$ git fsck
Checking object directories: 100% (256/256), done.
dangling commit 1cb1f44731ccbccdd8109bda42ebbdaa1c8cb407
dangling blob e0fac643666921c86891292ad5d1689ad67b7347
dangling commit a851cb4046b262e0406d604c3f3aa66df789530d ← コイツ

$ git stash apply a851cb4046b262e0406d604c3f3aa66df789530d
$ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   a.txt

no changes added to commit (use "git add" and/or "git commit -a")

좋은 웹페이지 즐겨찾기