2012-05-23 2 views
97

제출 후 커밋 메시지를 온라인으로 편집하는 방법이 있습니까? GitHub.com?GitHub에서 git commit 메시지 편집

명령 줄에서

, 하나는

git commit --amend -m "New commit message" 

로 제대로 another question에서 제안을 할 수 있습니다.

시도 중 git pull 다음으로 git push이 작동했습니다 (평균 시간 내에 방해받지 않은 다른 커밋 없음).

하지만 GitHub 웹 사이트를 통해 해결할 수 있습니까?

+0

참조하십시오 DanGreen-Leipciger의 [답] @ (https://stackoverflow.com/a/41513487/465053)은 허용 하나가 아닌 경우에도. – RBT

답변

68

아니요, 직접적인 것은 아닙니다. 모든 Git 커밋의 해시도 커밋 메시지를 기반으로 계산됩니다. 커밋 메시지를 변경하면 커밋 해시가 변경됩니다. 커밋을 푸시하려면 강제로 밀어 넣어야합니다 (git push -f). 그러나 이미 누군가가 당신의 오래된 커밋을 꺼내서 그 커밋을 기반으로 작업을 시작했다면, 그는 당신의 새로운 커밋에 자신의 작업을 리베이스해야 할 것입니다.

+0

나는 또한 자식 힘을 끌어 다음 git push 할 수 있고 그것은 효과가있다. 그러나 분명히 온라인 방법은 없습니다. – PNS

+0

아직까지는 불가능합니다. 2016 년 4 월 5 일 – bigT

+0

그리고 나는 이미 게시 된 지점의 커밋 내역을 변경할 것이므로 우선 순위가 높지 않을 것입니다. 200 % 확실한 경우를 제외하고는 자신의 로컬 컴퓨터에이 지점이없는 사람은 아무도 없습니다). – dunni

29

누구도이 필요합니다. 이전에 다른 커밋을 가져 오지 않았다고 가정합니다. 조심하세요, 당신은 역사를 바꾸고 있습니다.

+0

힘내 끌어 당긴 다음 힘내다. 감사! – PNS

+2

확실하지만'--amend'면 이미 역사를 바꿨습니다. – three

+0

사실입니다. :-) – PNS

3

아니요. 커밋 메시지가 커밋 SHA/해시와 관련되어 있고 커밋 메시지가 변경되면 커밋 SHA도 변경됩니다. 내가 사용한 방법은 커밋에 대한 주석을 작성하는 것입니다. 나는 다른 방향으로 생각할 수 없다.

0

나는 같은 문제에 직면했다.

특정 분기에 대한 github을 보면 해당 분기에서 가장 먼저 커밋 된 커밋 ID를 알 수 있습니다. 그에게 REBASE를 수행

자식이 열립니다 -i

편집기를 리베이스. github UI에서 커밋을 추적하고 편집기를 열고 메시지를 변경하십시오. 이 작업을 수행하는

66

GitHub의의 지침 : 명령 행에서

  1. 는 당신이 수정하려는 커밋이있는 저장소로 이동합니다.
  2. git commit --amend을 입력하고 Enter 키를 누릅니다.
  3. 텍스트 편집기에서 커밋 메시지를 편집하고 커밋을 저장하십시오.
  4. 이전 확약을 강제로 밀어 넣으려면 git push --force example-branch 명령을 사용하십시오.

출처 : https://help.github.com/articles/changing-a-commit-message/

+5

정답이어야합니다. – mcranston18

+0

"repo로 이동"이란 의미는 무엇입니까? 나를 위해 커밋은 다른 커밋과 함께 지점에 있습니다. 그리고 지금은 작업 영역이 깨끗해 지도록 모든 것을 밀었습니다. 메시지를 변경하려면 어떻게해야합니까? 미안 해요. 나는 이것에 초보자입니다. – pgr

+0

* nix 환경에서 폴더로 이동한다는 의미입니다. 나는. repo를 "bar"라고 부르면 머신의 루트에있는 "foo"디렉토리에 있으며, 터미널을 열고'cd/foo/bar'를 입력하십시오. 이제 2 단계에 대한 준비가되었습니다. –