我可以在没有事先提交的情况下推送我的工作目录吗?

时间:2012-03-18 17:41:47

标签: git

我将我的Web服务器设置为远程git仓库,因此我可以输入“git push staging”并且我的上一次提交在服务器上运行。我用this tutorial来设置它。

很多时候,我正在测试一个新功能,我想在登台服务器上测试它的几次迭代,然后才能提交质量。有没有办法将我的工作目录推送到服务器而不必先提交它?

2 个答案:

答案 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