我将我的Web服务器设置为远程git仓库,因此我可以输入“git push staging”并且我的上一次提交在服务器上运行。我用this tutorial来设置它。
很多时候,我正在测试一个新功能,我想在登台服务器上测试它的几次迭代,然后才能提交质量。有没有办法将我的工作目录推送到服务器而不必先提交它?
答案 0 :(得分:2)
那是不可能的。您只能推送变更集(或提交)。因此,您始终需要创建提交。
但是,您可以创建一个本地开发或暂存分支,您可以在其中提交测试并将其推送到服务器。一旦您满意,您可以合并+壁球/樱桃 - 选择您的更改到您的主分支。
答案 1 :(得分:1)
您想要做什么 ,但是可以通过创建功能分支(您关注的分支机构)来解决您的问题仅在实现一个唯一的功能时,您稍后将合并到master或另一个分支中。)
基本上,您需要做的只是git checkout -b feature_branch_name commit_sha1
(其中commit_sha1
是一个可选参数,用于指定分支的起始点;如果您未指定此参数,则默认为HEAD )。
你继续工作(提交和推送到主存储库):
git add .
git commit
git push origin feature_branch_name
# repeat until done
当您完成该功能时,您将其合并到master
(或您需要的任何其他分支):
git checkout master
git merge feature_branch_name
有关功能分支的更多信息(以及一般的分支和合并)可以找到here。