가 여기 내 gitk이입니다 (: Merging commits from branch to master -> odd-looking tree를, 나는이 질문에서 생각 개선이 @amber 감사) :이 git 트리를 수정하고 병합하는 방법은 무엇입니까?
지점 frontend
는 왼쪽에 있습니다. 오른쪽 하단에 master
및 remotes/origin/master
의 팁이 노란색으로 표시됩니다. 추가 '의 커밋이 하나 하나 (마스터'나는 frontend
을 추가 할 수 있습니다 방법
- :
은 내가가 문제의 약 36 시간 통해 봤는데 두 가지 일을 할 필요가 지연된 ') 그래서 그들을 밀어 수 있습니까? 나는 많은 코드가 관련되어 있기 때문에 전체 브랜치를 병합하고 싶지 않고, 두 브랜치는 작동하지 않는 나무를 가지고있다. frontend
주위에 두 개의 동일한 '대량 업데이트'항목이있는 것처럼 보이지만 상단/왼쪽에는 분기가 없습니다. 맨 위로 분기가없는bulk update
항목을 없애려면 2 개의 깨끗한 가지가 있습니까? 내가이처럼 보이는 한 싶습니다| # frontend | # Bulk update. | # ...commits... | # move this frontend commit to master | | #master's changes | | #master, remotes/origin/master, remotes/staging/master
정말이 나 자신 만 마지막 날과 투쟁의 절반을 사랑 내가 입력 한 내용에 조금 부정확 종종 결과를 보여 주었다 그것을 더 어지럽히는데.
이것은 모두 정확합니다. 두 번째 질문에 대해 조금 벗어났습니다. 커밋은 스냅 샷 이상이며 메타 데이터도 포함됩니다. 이 두 커밋에는 동일한 트리가 있지만 다른 메시지 (및 타임 스탬프)가있을 수 있습니다. 그리고 여러분은 중요한 것을 빠뜨 렸습니다. 그 커밋의 두 번째 버전은'git commit --amend'에 의해 만들어졌습니다. 커밋을 수정하면 새로운 커밋이 만들어지고, 이전 커밋은 매달려 있어야한다는 것을 아는 것이 중요합니다. 이 경우에는 거기에 기반한 은닉으로 고정됩니다. – Cascabel
숨김을 터뜨리는 것에 관해서는 : 프론트 엔드 브랜치의 컨텍스트에서 의미가있는 작업을 숨겨 놓을 가능성이 있기 때문에 숨김을 터뜨리는 것에 관해서는 아마 마스터에서하고 싶지 않을 것입니다. 그 내용이 중요하다면, 프론트 엔드를 터지기 전에 체크 아웃하고 싶을 것입니다. 던져 버리기를 원한다면'git stash clear '을 사용하여 모든 숨김을 지울 수 있습니다.'git stash drop stash @ {n}'을 사용하면 그걸 지울 수 있습니다 ('git stash list'를 사용하여'n' 해야한다). – Cascabel
@ Jefromi 감사합니다. 커밋의 고유성을 바꿀만한 다른 것들이 무엇인지를 기억하지 못했습니다. 나는 나의 대답을 업데이트했다. – James