Git 如何提交gerrit中以前推送并放弃的文件

Git 如何提交gerrit中以前推送并放弃的文件,git,gerrit,Git,Gerrit,假设我有三个文件-文件1,文件2和文件3。我添加它们,提交并推送它们。它转到gerrit系统,假设我发现我必须更改文件1中的某些内容,我放弃了gerrit中的补丁。在我的本地系统中,我编辑文件1并执行git状态,然后它将仅显示修改后的文件1 我这里的问题是在一个补丁中推送修改后的文件(file1)、file2和file3,然后推送它 如果我这样做,它会说已经是最新的了 我尝试了git reset,然后添加我的更改并推送它。这很好,但我不知道这是不是正确的方法。 有人能帮你吗???你为什么放弃改变

假设我有三个文件-
文件1
文件2
文件3
。我添加它们,提交并推送它们。它转到gerrit系统,假设我发现我必须更改
文件1中的某些内容,我放弃了gerrit中的补丁。在我的本地系统中,我编辑
文件1
并执行git状态,然后它将仅显示修改后的
文件1

我这里的问题是在一个补丁中推送修改后的文件(
file1
)、
file2
file3
,然后推送它

如果我这样做,它会说
已经是最新的了

我尝试了git reset
,然后添加我的更改并推送它。这很好,但我不知道这是不是正确的方法。
有人能帮你吗???

你为什么放弃改变

Gerrit是专门为此目的设计的,您可以查看更改,查看文件1是否需要更改,然后修改文件1并将其作为修补程序2再次提交

正确的是,
git状态
显示只有文件1已更改。它比较的是您的本地存储库,而不是gerrit

正确的方法是确保在本地git存储库hooks文件夹中有for gerrit。这将为提交消息添加更改Id。使用此gerrit可以跟踪与相同更改相关的提交

  • 初始更改,提交文件1-3:
    git提交-a
  • 推送至gerrit:
    git推送原点头部:refs/for/master
  • 修改文件1
  • Amend上次提交更新文件1:
    git提交-a--Amend
  • 再次推送至gerrit:
    git推送原点头部:refs/for/master

  • 现在,您的修改将显示为修补程序2,重复步骤3-5,直到您满意为止。

    无需放弃更改

    您需要做哪些更改,您可以这样做并按照以下步骤操作

    • 注意:确保
      git日志
      显示了您最近的提交 或者不是
  • git状态-它将显示修改的文件
  • git添加。或git add修改的文件名
  • git提交--修改(对最近的提交进行修改)
  • git推送原点磁头:refs/changes/change\u id
    例如:git推送原点头:refs/changes/1125642(这将作为下一步再次提交
  • 修补程序集。)