繁体   English   中英

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

[英]Pushing just one revision to GIT repository

我正在一个项目中工作,因为我做了一个改变,我承诺。 然后,在提交3或4个更改后,我将其全部推送。

我想做的是推动我在本地修改的其中一个。 我能这样做吗? 怎么样?

谢谢

尝试在当地的“工作”部门工作。 这有一个优点,例如你可以切换到一个不同的分支,如果你被调用工作说,一个错误。

当你准备推送时:git checkout master,git pull,git merge work,git push,将是你的正常流程。

但是,您可以选择从工作分支到主服务器的提交,这样只会推送那些提交。

git checkout master
git cherry-pick <id of commit you want>
git push

你现在可能会这样做。

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

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

如果您只想在推送之前将四个提交折叠为单个提交,则可能需要在单独的分支中工作并使用squash合并。 在本地存储库中存在提交之前,您无法将提交推送到远程存储库。 作为推送的一部分,你无法综合提交(据我所知)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM