내가 작성했습니까 커밋합니다 잘못된 행동을 한 메시지입니다.
어떻게 변경하십시오 메시지일까요? 아직 이 커밋합니다 끼워졌는지 않았습니다.
<! - 언어: > 내주었다.
git commit --amend
열립니다 너회의 편집기에는 변경할 수 있는 메시지를 커밋합니다 가장 최근의 커밋합니다. 또한 커밋합니다 명령줄의 메시지를 통해 직접 설정할 수 있습니다.
<! - 언어: > 내주었다.
git commit --amend -m "New commit message"
이 메시지를 더 작은 수정 또는 행 커밋합니다 자오웨버 내말들어봐 입력하십시오. 번거롭습니다.
, T # 39 don& 합니다 아무런 변화를 가져올 수 있게 하기 전에 이 또는 apc® 복제본에 스테이징된 커밋됨 너무. ( 언스티지드 변경이 되지 않겠느냐는 커밋됨.)
git push <remote> <branch> --force
# Or
git push <remote> <branch> -f
경고: 인력용 중이다. 덮어씁니다 원격입니다 분기로의 상태를 함께 해당 지역의 한 . # 39 에서 원격 분기로의 커밋한 don& 하는 경우, 해당 지역 분기로의 t * 가 있는 경우 그 손실됩니다 커밋한.
경고: 신중한 개정에 대한 개정 이전에 다른 people. 커밋한 커밋한 와 공유됨 본질적으로 다를 수 있으며, 그들을 다시 작성하지 * 사 id 를 다른 사람들이 그 이전 문제가 될 경우 복제본입니다 커밋합니다 you& # 39, ve 다시 씀. 한 사람이 복제본이므로 동기화하려면 새로 다시 작성 할 수 있는데, 그들의 오래된 커밋합니다 함께 작업하십시오 커밋합니다 어려울 때, 그래서 가끔 다른 사람과 좌표계나 합니다 시도중입니다 커밋합니다 재작성할 공유됨 가공할지, 다시 한번 커밋한 공유됨 피할 수 있다.
또 다른 옵션은 대화형 리베이스 사용할 수 있습니다. 이 모든 메시지 편집할 수 없는 경우에도 업데이트하려는 it& # 39 의 최신 메시지.
깃 (git) 을 수행하려면 스쿼시 다음과 같이 합니다.
// X is the number of commits to the last commit you want to be able to edit
git rebase -i HEAD~X
네 - e / r '을' 스쿼시 나면 커밋한 고르십시오 편집하기를 메시지:
I '리베이스 깃 (git) 을 사용할 때 더 이상' X 'x' 헤드입니다 ~ 커밋한 있을 수 있습니다. Git 는 collect" "; 지난 'X', 만약 모든 커밋한 커밋한 있었고 그 사이 어딘가에 병합해야 커밋한 범위 뿐만 아니라 모든 결과를 볼 수 있을 것이라고, 그래서 될 수 있는 merges> 커밋한 X+<;).
해야 할 경우 대한 개정 때 두 가지 이상의 분기로의 진실이며당신이 지정값이 인쇄면 충돌함 컨텐트나 설정되었습니다 ['git 레레러'] [3] 깃 (git), 여기서 충돌을 해결할 자동으로 당신꺼에요.
[git 커밋합니다 (1) 매뉴얼 페이지] (https://www.kernel.org/pub/software/scm/git/docs/git-commit.html)
[git 리베이스 (1) 매뉴얼 페이지] (https://www.kernel.org/pub/software/scm/git/docs/git-rebase.html)
[git push (1) 매뉴얼 페이지] (https://www.kernel.org/pub/software/scm/git/docs/git-push.html)
[3] # 35417944 :https://stackoverflow.com/questions/35415925/is-it-possible-to-setup-git-merge-for-automatic-resolving-git-rerere/35417944
대부분의 경우 최근 1 수리입니다 매핑하려는 커밋합니다 아닙니다.
깃 (git) '-' 리베이스 parent_of_flawed_commit 대화형 $1.
몇 가지 중대한 하자가 확인표시를 해결하십시오 커밋한 상위입니다 전달하십시오 가장 오래된 그 희망이었네
이후 모든 목록과 함께 올라와 있는 편집기에는 커밋한 한 부여한 것이다.
전환 '선택' 을 '바꾸어 말하다' (또는 Git 을 이전 버전의 '편집') 앞에서 커밋한 운영까지도 모든 문제를 해결할 수 있습니다.
깃 (git), 커밋한 재실행할 나열되는지 저장하면 된다. br /> <; br /> <;
, 바꾸어 말하다 정렬할지 각 커밋합니다 깃 (git) 를 편집기에는 뒤로를 떨어질 수 있습니다. 깃 (git) , 각 커밋합니다 정렬할지 편집하십시오 떨어트림 너회가 꽂으십시오 쉘입니다. 만약 여러분이 이 쉘로:
어떤 식으로든 커밋합니다 변경하십시오 좋아해요. 깃 (git) '-' 커밋합니다 수정 2. 깃 (git) '-' 리베이스 계속하시겠습니까 3.
이 중 대부분이 시퀀스는 얻을 수 있는 다양한 명령의세 as you go 출력물에는 설명했다. 아주 수 있습니다. 깃 (git) 이 사실을 기억할 필요가 없습니다 - 그냥 기억 '-' 아무리 오래 전에 그들은 커밋한 수정하십시오 리베이스 대화형 수 있습니다.
참고로 이전에 끼워졌는지 커밋한 변경할 수 없습니다. 아님 할 수 있지만, 이 경우 잘 할 수 있는 사람이 가져와서 멋지구리해요 시행하십시오 통신하도록 너회의 커밋한 및 수행되 작동합니까 저들이요 위에 How do I 복구하십시오 / 레이 크로니스 누군가 한 후 또는 재설정됨 푸시합니다 리베이스 게시된 분기로의?
수정, 변경 및 그 이전 커밋합니다 운영까지도 실행하십시오 스테이징합니다 변경,
<! - 모든 언어: > 랑 없음 -;
git commit --amend
이를 통해 새로운 파일을 열 수 있는 텍스트 편집기를 사이트용 커밋합니다 메시지. 처음에는 아웃해야 충스러웠으니 기존의 텍스트 메시지 커밋합니다 채워집니다. 원하는 대로 변경하십시오 메시지일까요 커밋합니다 어졌다면 파일을 저장하고 너회의 편집기에는 끝냅니다끝내기 완료하십시오.
개정 이전, 항상 동일한 로그 메시지를 커밋합니다 실행하십시오
git commit --amend -C HEAD
이전 커밋합니다 해결하십시오 완전히 제거하면 실행하십시오
git reset --hard HEAD^
만약 둘 이상의 커밋합니다 실행하십시오 편집하려는 메시지
깃 (git),,, - i 헤드에게 < pre> < code> 리베이스 < b> commit_count<;;;; /pre> < /code> < /b> ~;;
(복귀시킴 < b> commit_count< /b>;;; 커밋한 개수를 기준으로 편집하려는.) 이 명령을 너회의 편집기에는 시작합니다. 첫 번째 커밋합니다 표시하시겠습니까 (the one that you want to change) 는 "편집" 대신 "선택" 를 저장하고 종료할 편집기에는. 변경할 운영까지도 실행하십시오 커밋하려면 및
git commit --amend
git rebase --continue
참고: 또한, 너회가 want" " 변경할 수 있습니다. 깃 (git) 에서 연 편집기에는 커밋합니다 개정 '-'
또한 '거르개 분기로의 깃 (git)' 에 사용할 수 있습니다.
<! - 언어: c - >.
git filter-branch -f --msg-filter "sed 's/errror/error/'" $flawed_commit..HEAD
참고로 이 노력할 것이라고 재작성할 모든 커밋합니다 사이에 '헤드' 와 결함 때문에 매우 신중하게 '명령' msg 필터링합니다 고르십시오 커밋합니다 합니다; -)
Git 리베이스 사용할 수 있습니다. 예를 들어, 수정할 경우 bbc643cd 커밋하려면 실행하십시오 뒤로를
$ git rebase bbc643cd^ --interactive
$ git add <filepattern>
이제 사용할 수 있습니다.
$ git commit --amend
그리고 그 이후로 로칼에서 수정할 수 있습니다.
$ git rebase --continue
이전 헤드에게 반환되기를 백됩니다 커밋합니다.
늙은 커밋합니다 메시지를 여러 번의 분기로서의 변경할 수 있는 경우 (즉, 잘못된 메시지는 커밋합니다 함께 존재하는 여러 분기로서의) 사용해야 할 수도 있습니다.
git filter-branch -f --msg-filter \
'sed "s/<old message>/<new message>/g"' -- --all
깃 (git) 을 위한 임시 디렉토리를 만들 수 있는 기존 / / 백업 및 또한 다시 이전 참조입니다 '참조'.
'-f 인코더가 작업 실행. 그래야 임시 디렉토리를 경우 이미 경우 기존 '또는' 에서 이미 참조입니다 저장됩니까 / 참조. 떨어질 수도 있지 않은 경우, 이 경우 플래깅.
'-' 은 거르개 분기로의 옵션에서 수정 옵션.
' 분기로서의 -모든' 가 있는 모든 smartupdate 및 다시 태그뿐 있다.
백업하도록 인해 기존의 참조입니다 백됩니다 스테이드 명령을 실행하기 전에 쉽게 들어갈 수 있습니다.
말하도다 운영까지도 복구하기 위해 it 마스터 및 액세스 지점 'old_master':
git checkout -b old_master refs/original/refs/heads/master
여기에 몇 가지 옵션을 사용할 수 있습니다. 할 수 있습니다.
git commit --amend
이렇게 하지 않으면 it& # 39 마지막 로칼에서 상호대화식 리베이스, 할 수 있는 일은 아닙니다.
git rebase -i [branched_from] [hash before commit]
그리고 그 안에 추가 됩니다 대화형 리베이스 편집하십시오 커밋합니다. 깃 (git) a '-' 와 수정하십시오 개정할 때 들려온다 실행하십시오 커밋합니다 커밋합니다 메시지. 전에 확인표시를 롤백합니다 증대하고자 하는 점, 깃 (git) '와' 그냥 증대하고자 하는 삭제하시겠습니까 세로그 사용할 수도 있습니다. 그런 다음 다시 커밋합니다 'just do a' 깃 (git).
이 경우, 그냥 # 39 의 마지막 커밋합니다 it& 커밋합니다 방침이다.
git commit --amend -o -m "New commit message"
< br/>;
git rebase -i @~9 # Show the last 9 commits in a text editor
'선택' 을 찾을 스맥랜드의 커밋합니다 변경하십시오 'r' ('바꾸어 말하다') 및 파일을 저장하고 닫습니다. 완료!
< br>;
미니어처 비활성으로 자습서는 (또는, how to 리베이스 겨우 8 keystrokes <, kbd>, '3j' <, /kbd>, <, kbd>, 'cw' <, /kbd>, 'r' <, kbd>,,, ZZ ',' Esc< /kbd> < kbd> < /kbd>):
텍스트를 편집할 경우 많이유 관심용 전환하십시오 드보르자크 키보드 레이아웃뿐만, 배우고, 터치 형 학습하십시오 비활성으로. 가치가 노력이? 예.
< br/>;
ProTip™: # 39, t be 두렵도 don& 테스트하려면 " dangerous"; 깃 (git) 을 기록, t * - 재작성할 명령에 doesn& 커밋한 기본적으로, 90 일 동안 # 39 삭제합니다. 세로그 에서 찾을 수 있습니다.
$ git reset @~3 # Go back three commits
$ git reflog
c4f708b HEAD@{0}: reset: moving to @~3
2c52489 HEAD@{1}: commit: more changes
4a5246d HEAD@{2}: commit: make important changes
e8571e4 HEAD@{3}: commit: make some changes
... earlier commits ...
$ git reset 2c52489
... and you're back where you started
와우, 그래서 수많은 방법이 있습니다.
하지만 이를 위해서는 또 다른 방법을 유지할 수 있도록 won& # 39 마지막 삭제하시겠습니까 커밋합니다 변경, t lose your work. 또 다른 메시지를 함께 교정됨 커밋합니다 재동기화할 수 있습니다. 이 모습이 될 것 "이라고 말했다.
git reset --soft HEAD~1
git commit -m 'New and corrected commit message'
난 항상 잘 안 할 경우 이렇게 파일 추가 또는 변경.
Windows 용 / Mac gui 를 통해 누구나 편집할 수 있는 오래된 메시지 (즉, 이번 메시지가 아니라), I&; d # 39 추천합니까 수르스트리. 이 단계에 아래와 같습니다.
[수르스트리 대화형 리베이스] (http://i.stack.imgur.com/CcA2P.png)!
.Or. 이미 pushed: 커밋한 대한
단계에 따라 [이 오토메이티드] [2] 에서 실행할 수 있으며, 더 이상 필요하지 않지만 비슷한 명령을 명령줄이 ('git push 출처 < branch>; f ') 를 인력용 누름식 지점. 꼭 이래야겠어요 추천합니까 판독값) 를 적용해 이 모든 필요한 주의!
[2]: https://stackoverflow.com/questions/17604232 # 23239109
그냥 경우 최신값 편집하십시오 커밋합니다 사용합니다.
git commit --amend
또는
git commit --amend -m 'one line message'
여러 가지 연속 신앙이니라 편집하려는 커밋한 콩지름에 리베이스 사용하십시오.
git rebase -i <hash of one commit before the wrong commit>
위와 같은 파일에 쓰기 ', 또는 다른 옵션 중 하나를 편집 / e', 그리고 hit 저장하고 나갑니다.
지금 # 39, ll be 맨 처음 you& 잘못된 커밋합니다. # 39 의 수정하시기 파일이므로 they&, ll 자동으로 스태이징할 당신꺼에요. 유형
git commit --amend
저장하고 있는 종료하십시오 및 유형
git rebase --continue
다음으로 이동할 수 있는 모든 업무를 마칠 때까지 선택물을 선택물.
참고로, 이러한 것들을 모두 변경 후 너회의 SHA 해시 해당 커밋합니다.
마지막 메시지를 변경하십시오 매핑하려는 경우에만 사용해야 합니다 '-o' 을 (를) '-' 수정 '' 전용 플래깅 또는 그 짧은보기 커밋합니다.
git commit --amend -o -m "New commit message"
이렇게 하면 너회가 don& # 39, t 실수로 향상시키십시오 함께 커밋합니다 스테이징된 얘기입니다. 물론 가장 적절한 '$ # 39 의 it& 투명지에 편집기에는' 구성. 그럼 '-m' 옵션을 아웃, Git 는 이 메시지를 미리 채우기 커밋합니다 유지할 수 없는 낡은 하나. 이런 식으로 쉽게 편집할 수 있습니다.