Giit 명령 시작:rebase(-i,edit)"16회"
저번 기사는 이쪽부터!"제15회"
우선git log-p로 현재 상태를 확인합니다![1]
파일을 초기화하고 설정하려면 여기서부터 시작하십시오!
$ git log -p
commit 1839466df61a8fd35f337024ccc798924a4334e3 (HEAD -> main)
Date: Wed Feb 17 06:56:04 2021 +0900
Ccc
diff --git a/README.md b/README.md
index 2204aa9..b665a22 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,4 @@
# rebase
# AAA
# BBB
+# CCC
commit 9a7ea356a703d68f62693bf4d57b20a5d8a329e3
Date: Wed Feb 17 06:55:51 2021 +0900
Bbb
diff --git a/README.md b/README.md
index 32eee12..2204aa9 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,3 @@
# rebase
# AAA
+# BBB
commit 41965dfb402ca1a5799c6709a108d2b7c966399c
Date: Wed Feb 17 06:55:39 2021 +0900
Aaa
diff --git a/README.md b/README.md
index 8c0227d..32eee12 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,2 @@
# rebase
+# AAA
commit 445c067462a0b0a3cd8f21c40798dfd60750c6fb (origin/main, origin/HEAD)
Date: Tue Feb 16 14:37:03 2021 +0900
1st
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..8c0227d
--- /dev/null
+++ b/README.md
@@ -0,0 +1 @@
+# rebase
그럼,git rebase-i41965df~1을 실행합니다!
Aaa에서 편집하고 싶으므로 41965dfb402ca1a 5799c 6709a 108d2b7c 966399c +~1 중에서 선택할 수 있습니다.실제로 해시 값의 시작 7자리를 지정하면 됩니다!~1하지만, ^1은 다 돼!
$ git rebase -i 41965df~1
// vi の編集画面には、3つのコミットが選択されてます。
edit 41965df Aaa // pick を、edit に変更!
pick 9a7ea35 Bbb
pick 1839466 Ccc
// Esc + wq で、変更、保存、終了する。
Stopped at 41965df... Aaa
You can amend the commit now, with
git commit --amend
Once you are satisfied with your changes, run
git rebase --continue
구글 번역:지금 바로 수정 제출 가능합니다.git commit --amend
변경 사항이 만족스러우면 실행합니다.git rebase --continue
그럼, README.수정md, 실행
git add README.md
과git commit --amend
합시다!// ファイルの最終行に、edit test AAA を追加!
echo "# edit test AAA" >> README.md
$ cat README.md
# rebase
# AAA
# edit test AAA // <-- 追加1行!
// 毎度の、add して、今度は、修正なので、--amend を指定します!
git add README.md
git commit --amend
// vi エディターで、再び、コメントの編集を求められるので、edit test を追加!
Aaa // <-- 現在は、Aaa
Aaa edit test // <-- edit test を追加!
// Esc + wq で、変更、保存、終了する。
[detached HEAD 80c08d0] Aaa edit test
Date: Wed Feb 17 06:55:39 2021 +0900
1 file changed, 2 insertions(+)
제출한 해시 값 41965df [주석:Aaa]의 파일 내용, README.MD 파일을 변경했습니다. 수정 제출 완료!"git rebase--continue"를 계속 실행하십시오!git rebase --continue
Auto-merging README.md
CONFLICT (content): Merge conflict in README.md
error: could not apply 9a7ea35... Bbb
Resolve all conflicts manually, mark them as resolved with
"git add/rm <conflicted_files>", then run "git rebase --continue".
You can instead skip this commit: run "git rebase --skip".
To abort and get back to the state before "git rebase", run "git rebase --abort".
구글 번역:README.자동 병합 md
CONLICT(컨텐트): README.합병md의 충돌
오류: 9a7ea35를 적용할 수 없습니다...Bbb
모든 충돌을 수동으로 해결하고 해결됨으로 표시합니다.
"git add/rm≥confliccted files>"를 실행한 후 "git rebase-continue"를 실행합니다.이 커밋을 건너뛸 수 있습니다.git rebase--skip을 실행합니다.git rebase 이전의 상태를 중지하고 복원하려면 git rebase-abrt 를 실행합니다.
어?!이 상태에서 무슨 일이 있었던 걸까요?
README.경고문처럼 MD를 자동으로 통합할 수 없습니다.
cat README.MD부터 확인해 보세요!
오류: 9a7ea35를 적용할 수 없습니다...Bbb
아아를 수정하고 Bbb와 경쟁할 것인가?!처음 경험하면 이해하기 어렵다.
하지만 영화에서 흔히 볼 수 있는 시나리오와 마찬가지다.맞다 맞다 반대파처럼 과거로 돌아가 미래를 바꾸는 것처럼.응, git라면 할 수 있지만 앞뒤가 일치하지 않으면 반드시 문서의 완전성을 떼어내야 관리상 수정이 촉진될 거야.[2]
우선 서류의 내용을 확인해 보세요!
$ cat README.md // ファイルの中身の確認!
# rebase
# AAA
<<<<<<< HEAD
# edit test AAA
=======
# BBB
>>>>>>> 9a7ea35... Bbb
열두 번째 배운 git merge 기억나?그때와 마찬가지로git가 자동으로 통합될 때 오류가 발생했습니다.
그럼,rebase 전에!?
// 9a7ea35 Bbb
# rebase // 41965df Aaa との差はなし
# AAA // 41965df Aaa との差はなし
+# BBB // Aaaとの差分は、この一行だけ
// 41965df Aaa
# rebase
# AAA
rebase, #edit test AAA가 추가되면?!
// 9a7ea35 Bbb
# rebase // 41965df Aaa との差はなし
# AAA // 41965df Aaa との差はなし
+# BBB // Aaaとの差分は、この一行だけ
// 41965df Aaa
# rebase
# AAA
+# edit test AAA // この一行は、BbbとAaaとの差分として認識していない。
41965df Aaa, 9a7ea35Bbb의 차이, +#BBB의 한 줄이라면,git, 기록관리 장소 때문에 Aaa의 끝줄, #edit test AAAAA가 추가되어서 듣지 못했고 모르고 이렇게 됐어요.$ vi README.md // 実際に、以下のように編集!
# rebase
# AAA
# edit test AAA
# BBB
git add README.md
git rebase --continue
// ここで、再び、コメントを求められます。
Bbb + test edit AAA // Bbb の後ろに、+ test edit AAA と追加!
// Esc + wq で、変更、保存、終了する。
그럼 도대체 어떻게 된 거예요?
$ git log --oneline
6757a96 (HEAD -> main) Ccc // ハッシュ値のみ変更
b01b057 Bbb + test edit AAA // ハッシュ値とコメントが変更
80c08d0 Aaa edit test // ハッシュ値とコメントが変更
445c067 (origin/main, origin/HEAD) 1st
해시치가 모두 변했다.git log-p로 재확인!
$ git log -p
commit 6757a9658832505ad907d341f76943d1162cb206 (HEAD -> main)
Date: Wed Feb 17 06:56:04 2021 +0900
Ccc
diff --git a/README.md b/README.md
index 4404c96..a2e773b 100644
--- a/README.md
+++ b/README.md
@@ -2,3 +2,4 @@
# AAA
# edit test AAA // <-- Bbbの修正が、Ccc にも自動で反映されています!?
# BBB
+# CCC
commit b01b0578b1a31ed7e4f1055c82ffe92448936861
Date: Wed Feb 17 06:55:51 2021 +0900
Bbb + test edit AAA
diff --git a/README.md b/README.md
index 651996c..4404c96 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,4 @@
# rebase
# AAA
# edit test AAA // <-- ここでのコンフィクトを、viで修正しましたね!
+# BBB
commit 80c08d00a46bc95158dc6ea0ef1f0225f17f5a01
Date: Wed Feb 17 06:55:39 2021 +0900
Aaa edit test
diff --git a/README.md b/README.md
index 8c0227d..651996c 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,3 @@
# rebase
+# AAA
+# edit test AAA
commit 445c067462a0b0a3cd8f21c40798dfd60750c6fb (origin/main, origin/HEAD)
Date: Tue Feb 16 14:37:03 2021 +0900
1st
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..8c0227d
--- /dev/null
+++ b/README.md
@@ -0,0 +1 @@
+# rebase
6757a96(HEAD->main) Ccc도 Bbb의 수정 내용을 충분히 반영했다.$ cat README.md
# rebase
# AAA
# edit test AAA // Aaaに追加、Bbbのコンフィクト修正、なんと、Cccにも反映!
# BBB
# CCC
그럼,어때요?한 번만 해결됐고 이후 제출도 변경됐다.리베이스라는 이름이기 때문에 베이스를 바꾸면 그 다음에도 똑같이 업데이트가 되는 건 당연하죠. 저도 그런 느낌이 들어요.어쨌든 가볍다.그리고 제출한 해시 값이 바뀌었습니다. 물론git reflowg 명령을 사용하면git reset-hard로 원래 상태의 해시 값을 지정하면rebase 이전의 원상태로 돌아갑니다.가능하다면 몇 번 연습해 보세요!또한 실제로 모든 사례가 자동으로 해결되는 것은 아니니 탓하지 마세요.샘플로 아래 서류를 시험해 보십시오.
git rebase --continue
마지막까지 모든 README.MD를 수동으로 수정해야 합니다!(쓴웃음)[3]그리고 샘플 창고를 하나 올렸어요.가능하다면 시도해 보세요.
git reflowg 해시 값을 확인하고, git reset-hard를 사용하여 HEAD를 초기 설정으로 설정하십시오!
그럼, 이번엔 여기까지 수고하셨습니다!
말은 그렇지만 머리가 좀 혼란스럽다.더 쉽게 이해하기 위해 다음에 설명할 수 있는 것은 우선 내가 스스로 배운 곳이다.(쓴웃음) 그리고 또 그림을 그리고 싶어요~
각주
나는 모두가 편집하고 있다고 생각한다. 표시된 상태가 다르다.↩︎
git의 역할은 파일을 관리하는 차별이기 때문이다.이것은 당연한 일이다.↩︎
이 근처는 다음에 더 깊이 파헤치고 싶어요.↩︎
Reference
이 문제에 관하여(Giit 명령 시작:rebase(-i,edit)"16회"), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/shiozumi/articles/6c462fac625cd2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)