5 개의 로컬 커밋이 있다고 가정합니다. SVN 스타일 워크 플로를 사용하여 두 개만 중앙 저장소에 푸시하고 싶습니다. 어떻게해야합니까?
이것은 작동하지 않았다 :
git checkout HEAD~3 #set head to three commits ago
git push #attempt push from that head
결과적으로 5 개의 로컬 커밋이 모두 완료됩니다.
실제로 커밋을 취소하기 위해 git reset을 수행하고 git stash와 git push를 수행 할 수 있다고 가정하지만 이미 커밋 메시지를 작성하고 파일을 정리했으며 다시 실행하고 싶지 않습니다.
내 느낌은 밀거나 재설정하기 위해 전달 된 일부 플래그가 작동한다는 것입니다.
도움이된다면 여기 내 자식 설정이 있습니다.
[ramanujan:~/myrepo/.git]$cat config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = ssh://server/git/myrepo.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
master~3
. 원하는 "최대"커밋에 대한 참조 (예 :HEAD~3
또는)HEAD~~~
, 특정 SHA 또는 해당 커밋 레이블이 지정된 태그 가 동일하게 유효합니다 .