Ruby on rails 是否有一种方法可以查看提交给本地GitHub分支的更改,而无需将其推送到主分支?
我还在想GitHub和Heroku的事,所以请耐心点。:) 比如说,我在xyz.com上有一个web应用程序。我现在做的是对一些文件进行一些代码/UI更改,提交这些文件,将它们推送到主分支,然后刷新url以查看这些更改Ruby on rails 是否有一种方法可以查看提交给本地GitHub分支的更改,而无需将其推送到主分支?,ruby-on-rails,web-applications,github,heroku,Ruby On Rails,Web Applications,Github,Heroku,我还在想GitHub和Heroku的事,所以请耐心点。:) 比如说,我在xyz.com上有一个web应用程序。我现在做的是对一些文件进行一些代码/UI更改,提交这些文件,将它们推送到主分支,然后刷新url以查看这些更改 我认为这显然是一种错误的方法,但我不知道如何测试对代码所做的更改,而不必将它们推到主分支上。我怎么能这样做呢?我不太了解您问题的完整版本中的情况(请参阅我的评论,以及为什么您不能在本地测试?),但要回答标题中的问题,您可以通过运行以下命令来查看您的主控程序与GitHub上的版本之
我认为这显然是一种错误的方法,但我不知道如何测试对代码所做的更改,而不必将它们推到主分支上。我怎么能这样做呢?我不太了解您问题的完整版本中的情况(请参阅我的评论,以及为什么您不能在本地测试?),但要回答标题中的问题,您可以通过运行以下命令来查看您的主控程序与GitHub上的版本之间的差异:
git fetch github
git diff github/master master
(假设引用您的GitHub存储库的远程设备称为GitHub
——在您的情况下,它很可能是origin
。您可以使用git remote-v
查看所有远程设备)
进一步解释一下,当您运行
git-fetch-github
时,git将更新所有所谓的“远程跟踪分支”——在大多数情况下,这些分支看起来像origin/whatever
,github/experiment
,等等。这些分支的状态类似于缓存,只有当您运行git-fetch
或成功地git-push
到远程存储库上的该分支时,它们才会更新。因此,一旦您这样做以确保github/master
是该分支在github上的最新快照,您就可以使用git diff
将其与本地master
分支进行比较。首先:您不推送到主分支,而是推送到远程repo。你可能应该仔细阅读你的文章
第二:这不是一个好的工作流,首先您应该提交您的更改,然后在本地测试它们。完成测试后,您就可以将提交推送到远程回购了。为了澄清,我猜您是先推到github,然后在xyz.com上从github退出?(或者你是直接推到xyz.com?这不是一个好主意…)哦,没关系-我刚刚发现了heroku标签,所以我猜你是直接推到那里部署。icc,你的建议通常是正确的,但在开发利用heroku提供的附加组件的基于heroku的复杂应用程序时并不总是实用的。在更复杂的情况下,创建两个Heroku应用程序,即production和staging,并设置两个远程git存储库。您可以推送到暂存应用程序并调试更改,然后推送到生产环境,最后将标记的分支推送到GitHub。