phpstorm中的git使用方法
提交并推送更改
在将新文件添加到Git存储库或修改了已在Git版本控制下的文件并且您对目前状态满意后,您可以共享工作结果。这包括在本地提交它们以将您的存储库快照记录到项目历史记录中,然后将它们推送到远程存储库,以便其他人可以使用它们。
在本地提交更改
-
要调用“ Commit Changes”对话框,请在“ Local Changes”视图中选择文件(或整个更改列表),然后单击工具栏上的或在选择的上下文菜单上选择Commit Changes ; 或按Ctrl+K。
在提交更改对话框中列出了自上次已修改的所有文件提交,和所有新添加的版本文件。
-
输入提交消息,然后选择您希望PhpStorm在将选定文件提交到本地存储库之前执行的提交前操作。
-
如有必要 ,请在Git部分中选择以下选项:
-
作者:如果您正在提交他人所做的更改,您可以指定这些更改的作者。
-
修改提交:如果要将本地更改添加到最新提交中,请选择此选项(有关详细信息,请参阅将 分阶段更改与前一个提交(修订提交)结合使用)。
-
签名提交:如果您想要签署提交,即要证明您要签入的更改是由您完成的,或者您要为有问题的代码承担责任,请选择此选项。
启用此选项后,会在提交消息的末尾自动添加以下行: 通过<username>签名
-
单击Commit按钮或将鼠标悬停在此按钮上以显示以下可用提交选项之一:
-
提交和推送:提交后立即将更改推送到远程存储库。
您也可以按提交Commit对话框中Ctrl+Alt+K的Commit和Push操作 。
-
创建补丁: 根据您即将提交的更改生成补丁。在打开的“ 创建修补程序”对话框中,输入修补程序文件的名称并指定是否需要反向修补程序。
-
远程运行:运行你的个人构建。此选项仅在您登录TeamCity时可用。 有关详细信息,请参阅TeamCity插件文档。
提交文件的一部分
有时,当您进行与特定任务相关的更改时,还可以应用影响同一文件的其他无关代码修改。将所有这些变化纳入一项承诺可能不是一个好的选择,因为审查,恢复, 挑选它们会更困难。
PhpStorm允许您通过以下方式之一单独提交这些更改:
-
选择修改后的代码块,您希望将其包含在Commit Changes对话框中的提交权限中,并将其他更改保留为待处理状态,以便您稍后可以提交它们。
-
在编辑代码时,将不同的代码块快速放入不同的更改列表中,然后分别提交这些更改列表。
选择要提交的块
-
调用的提交更改对话框。
-
点击DIFF显示库版本和所选文件的本地版本之间的差异。
-
选中您要提交的每个修改或新添加的代码块旁边的复选框,并保留未选中的其他更改:
-
点击提交。未选择的更改将保留在当前更改列表中,以便您可以单独提交它们。
将更改放入差异更改列表中
将更改推送到远程存储库
在推送您的更改之前,请与远程同步,并确保您的本地本库副本是最新的以避免冲突。
PhpStorm允许您将更改从当前分支上传到其 跟踪分支或任何其他远程分支。
-
按下Ctrl+Shift+K或选择VCS | Git | 从主菜单中按下。“ 推送提交”对话框打开,显示所有Git存储库(用于多存储库项目)并列出自上次推送以来每个存储库中当前分支中所做的所有提交。
如果您有一个项目使用多个未同步控制的存储库,则默认情况下仅选择当前存储库(有关如何启用同步存储库控制的详细信息,请参阅 版本控制设置:Git)。
-
如果存储库中没有遥控器,则会出现Define远程链接。点击此链接并在打开的对话框中指定远程名称和URL。它将被保存,您可以稍后通过VCS |进行编辑 Git | 远程 (有关详细信息,请参阅添加远程存储库)。
-
如果要修改要推送的目标分支,可以单击分支名称。标签变成一个文本字段,您可以在其中键入现有的分支名称,或创建一个新的分支。您还可以单击右下角的编辑所有目标链接以同时编辑所有分支名称。
请注意,您不能更改本地分支:将推送每个选定存储库的当前分支。
-
如果您想在推送更改之前预览更改,请选择所需的提交。右侧窗格显示所选提交中包含的更改。您可以使用工具栏按钮来检查提交详细信息。
-
点击推送准备时按钮,然后选择你想从下拉菜单中执行该操作: 按下或力推。
这些选项仅在允许强制推送 选项启用时才可用(请参阅版本控制设置:Git),否则,您只能执行
push
操作。
如果push
由于工作副本已过期而被拒绝,则PhpStorm会显示“ 推送拒绝”对话框,前提 是未选中“设置”对话框的“ Git设置”页面中的“ 如果推送当前分支时自动更新被拒绝”选项。请执行下列操作:
-
如果您的项目使用多个Git存储库,请指定要更新其中的哪一个。如果您要更新所有存储库,无论是否
push
拒绝,请选择“ 更新不拒绝存储库”选项。如果清除此选项,则只会更新受影响的存储库。 -
如果您希望PhpStorm在下一次使用在此对话框中选择的更新方法拒绝推送时应用更新过程,请选择记住更新方法选项并在将来以静默方式更新选项。
离开此对话框后, 将会选中Settings对话框的Git设置页面中的当前分支的自动更新如果推送被拒绝复选框,并且应用的更新方法将成为默认方法。
要更改更新策略,请取消选择此选项以在下次拒绝当前分支的推送时调用“ 推送拒绝”对话框,应用不同的更新过程并再次选择“记住更新方法选择”选项。
我什么时候需要使用强制推送?
运行时push
,如果远程存储库发生了缺少的变更,并且您要使用本地存储库副本进行覆盖,Git将拒绝完成操作。通常情况下,您需要执行pull操作才能与远程进行同步,然后才能使用更改进行更新。
该--force push
命令将禁用此检查,并允许您覆盖远程存储库,从而删除其历史记录并导致数据丢失。
当您需要执行的一种可能情况--force push
是,当您推送一个推送的分支时,然后想将其推送到远程服务器。在这种情况下,当您尝试推送时,Git将拒绝您的更改,因为远程参考不是本地参考的祖先。如果你pull
在这种情况下执行,你最终会得到两份你需要合并的分支。
如果您决定强制推出重新设计的分支,并且您正在团队中工作,请确保:
-
没有人拉你的分支,并做了一些本地更改
-
所有待处理的更改均已提交并推送
-
您有该分支的最新更改