2017-01-17 1 views
0

다른 사용자가 푸시 한 커밋을 스쿼시하려고합니다. 커밋이 로컬에서 git 로그에 스쿼시되었지만 master 브랜치에 대한 강제 푸시를 시도하면 원격 repo의 커밋 내역이 변경되지 않습니다. 어떤 아이디어?다른 사용자의 커밋 메시지를 변경 하시겠습니까?

감사합니다.

+1

일반적으로 좋지 않습니다. 정말하고 싶니? 당신이 할 가정, 힘내 명령에서 일부 출력 유용 할 수 있습니다. 당신의 강제 추진이 작동하지 않는 것 같네요. –

+0

그래, 나는 그것을하고 싶다. 친구가 시작하여 나에게 넘겨주는 개인 레포 (repo)는 내가하는 일은 실제로 다른 사람에게 영향을 미칠 것입니다. Git의 결과에 따르면 force push가 작동하고 "모든 것이 최신"이라고 나와 있지만 온라인 커밋 내역에는 그렇지 않다는 내용이 나와 있습니다. – msun

답변

0

는 검색의 몇 시간 후, 나는 내가 잘못 리베이스의 과정에서 내 마스터 지점에서 내 HEAD (나는에있어 현재 디렉토리)를 분리했고 커밋을 만드는, 그래서 내가

을 실행했을 때 발견
git push --force origin master 

자식이 나에게 확인 메시지를 보내지 만 내가 실제로있는 지사에서 변경 한 내용을 적용하지 않았으며, 마스터 브랜치의 변경 사항 만 적용했습니다. 하나는 분리 HEAD가 오류가 발생하는 경우

git symbolic-ref HEAD 

을 실행하여 확인할 수있다 여부, 다음, 머리가 분리된다. 또는

git branch 

어떤 브랜치가 있는지 보여줍니다.

다른 힘내 새내기

,이 솔루션은 사용하여 원래의 지점으로 분리 된 HEAD에서 내 변경 내용을 병합하는 것이 었습니다

git branch temp (this creates a branch that is the same as the current repository) 
git checkout temp (this attaches HEAD to temp) 
git checkout master (moves HEAD back to master) 
git merge temp (merges temp with master) 
git push --force origin master (overwrites old commits that I've pushed) 

더 많은 정보를 여기에서 찾을 수 있습니다 : 모든 사람들에게 How can I reconcile detached HEAD with master/origin?

감사합니다 누가이 사이트에서 물건에 답했다.

관련 문제