【问题标题】:Git diff/merge changes done in same branch (master)在同一分支(主)中完成的 Git diff/merge 更改
【发布时间】:2017-06-26 04:44:44
【问题描述】:

我一直在单独从事一个项目。为了跟踪我的更改,我在那个项目上使用了 git。该项目在几个月前完成。一个月前的客户想要升级一些功能,所以我下载了项目并开始研究新功能,在那段时间里,实时服务器出现了一些严重的问题,所以我也不得不在那里进行一些更改。

现在,我的问题是如何将实时服务器更改合并到我的开发服务器新功能中。

谢谢。

【问题讨论】:

  • 您是否创建了任何单独的分支来执行这些更改?
  • 如果您没有创建任何单独的分支,那么您可以将主分支部署到您的实时服务器,但最好使用 jenkins 或其他一些实时克隆的测试设置来测试更改。
  • @ShivangAgarwal 不,我没有。我从一开始就在 master 分支工作,因为我使用 git 只是为了跟踪我的更改。
  • 然后您可以提交您的更改,将其推送到 git,将其合并到当前部署的分支,然后在实时服务器上发出拉取请求并重新启动您的服务,如果您不使用合并,那么您需要用实时服务器上的结帐替换该步骤。
  • 您是否在生产服务器上使用了 git,您是否跟踪这些更改?

标签: git merge diff


【解决方案1】:

您的用例是一个常见的用例,也是大多数 Git 用户在企业软件团队环境中每天都会遇到的用例。您可以尝试以下步骤:

  • 提交您当前的本地工作
  • 执行git pull origin branch_name 以从实时服务器中引入更改
  • 解决任何可能发生的合并冲突
  • 然后执行git push origin branch_name 将您的本地更改引入实时服务器

正如一些 cmets 所提到的,以这种方式直接使用您的实时服务器可能不是一个好的设计。更典型的是,您将使用功能分支,这些分支可以经过仔细审查,然后部署/合并到实时服务器。

【讨论】:

  • 但是为此我还需要在实时服务器中提交我的更改,对吗?其中我没有 SSH 访问权限,但有 cpanel 访问权限来下载整个源代码。
  • 如果您在服务器的master 分支上没有推送权限,那么您真的无法在实时服务器上进行任何操作。如果是这样,那么您需要先解决此问题。也许您可以创建一个单独的分支,然后让管理员将其合并到master
  • 嗯,如果我向托管服务提供商提出请求,我想我可以获得 SSH 访问权限。但是在开始考虑这种情况时,我没有配置任何东西。我所做的只是git init 并提交了我的更改并通过 FTP 将整个文件上传到实时服务器。你能给我一些参考吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-25
  • 1970-01-01
  • 2020-09-16
  • 1970-01-01
  • 1970-01-01
  • 2013-05-05
相关资源
最近更新 更多