Предположим, у меня есть 5 локальных коммитов. Я хочу подтолкнуть только 2 из них к централизованному репо (используя рабочий процесс в стиле 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, или тег, который маркирует эту фиксацию.