仅将一个修订版推送到GIT存储库

仅将一个修订版推送到GIT存储库,git,Git,我在一个项目中工作,当我做一个改变时,我就去做。然后,在做了3到4次更改后,我将其全部推送 我想做的是推动我在本地进行的其中一个修订。我可以这样做吗?怎么做 谢谢尝试在当地的“工作”分支机构工作。这样做的好处是,如果你被要求处理一个bug,你可以切换到另一个分支 当您准备推送时:git签出主控、git拉、git合并工作、git推送将是您的正常流程 但是,您可以从您的工作分支中挑选提交到主分支,这样只会推送这些提交 git checkout master git cherry-pick <i

我在一个项目中工作,当我做一个改变时,我就去做。然后,在做了3到4次更改后,我将其全部推送


我想做的是推动我在本地进行的其中一个修订。我可以这样做吗?怎么做


谢谢

尝试在当地的“工作”分支机构工作。这样做的好处是,如果你被要求处理一个bug,你可以切换到另一个分支

当您准备推送时:git签出主控、git拉、git合并工作、git推送将是您的正常流程

但是,您可以从您的工作分支中挑选提交到主分支,这样只会推送这些提交

git checkout master
git cherry-pick <id of commit you want>
git push
git签出主机
吉特樱桃采摘
git推送
即使现在,你也可能这样做

git checkout -b work
git log (and look for the IDs of the commits you want)
git checkout master
git reset --hard HEAD~3 (remove last 3 commits from master)
git cherry-pick <ID of commit you want>
git push
git签出-b工作
git日志(并查找所需提交的ID)
切换到主分支
git重置——硬头~3(从主控中删除最后3次提交)
吉特樱桃采摘
git推送

我不太确定你想做什么。如果有4个未推送的提交,并且只希望推送其中的第一个提交,则可以将其ref传递给
gitpush
。比如说,如果您想要推送这些提交中的第三个,而不是第一个或第二个,那么您将遇到问题。你不能真的那样做。(好吧,您可能可以,但是它将与树的其余部分断开连接)


如果您只是想在推之前将四个提交折叠为一个提交,那么您可能希望在单独的分支中工作并使用挤压合并。在本地repo中存在提交之前,无法将其推送到远程存储库。您不能将提交合成为推送的一部分(据我所知)

“我想做的是只提交本地版本中的一个。”我想你的意思是“推送”,而不是“提交”。有了git,一切都是可能的!是的,很抱歉我想用gitk推一个,摘樱桃很容易。pabloruiz55,注意我发布的最后几步应该可以完成你需要的。是的,我想做的是推第一个(最老的一个)是否是git push 1234567890,其中1234567890是修订号?我认为您需要使用类似于
git push 1234567890:master
。替换相应的分支名称。我刚刚查看了git手册页,我很震惊这个用法没有作为示例列出。