Git拉取而不覆盖提交的文件

Git拉取而不覆盖提交的文件,git,Git,我对一些文件进行了更改,并将更改推送到远程存储库。另一个人退出回购协议,决定删除/修改我刚刚推送的一些文件,然后他推送 此远程存储库具有安全设置,因此您只能使用特殊命令拉入(或推入)。我需要拉取以获取其他人的更改,但不希望他的更改覆盖我自己的更改(已提交)。正如我所说,我不能做回复,我只能拉 我需要一种方法,这样我可以拉(这将覆盖一些更改,但应用其他关键更新),然后只撤消上次拉对我最初推送的文件所做的更改。理想情况下,通过“撤消”更改,我最初提交的文件现在已未提交;i、 e.如果我键入“git

我对一些文件进行了更改,并将更改推送到远程存储库。另一个人退出回购协议,决定删除/修改我刚刚推送的一些文件,然后他推送

此远程存储库具有安全设置,因此您只能使用特殊命令拉入(或推入)。我需要拉取以获取其他人的更改,但不希望他的更改覆盖我自己的更改(已提交)。正如我所说,我不能做回复,我只能拉


我需要一种方法,这样我可以拉(这将覆盖一些更改,但应用其他关键更新),然后只撤消上次拉对我最初推送的文件所做的更改。理想情况下,通过“撤消”更改,我最初提交的文件现在已未提交;i、 e.如果我键入“git status”,我会看到与我最初提交和推送之前相同的列表。

我不太确定您想做什么。但在任何情况下,您都可以简单地为您的版本创建一个分支,如下所示:

git签出-b mywork master

它将默认使用主分支,因此您可以省略主零件。但是,如果您在另一个分支上工作,请将master替换为您希望创建新分支的任何分支

未提交的更改也将出现


然后把零钱收进来。如果有必要的话,做任何需要做的事情来掌握。

我不太清楚你想做什么。但在任何情况下,您都可以简单地为您的版本创建一个分支,如下所示:

git签出-b mywork master

它将默认使用主分支,因此您可以省略主零件。但是,如果您在另一个分支上工作,请将master替换为您希望创建新分支的任何分支

未提交的更改也将出现

然后把零钱收进来。如有必要,请执行所需的合并操作,以掌握操作。

尝试以下操作:

  • 使用最初添加的文件签出提交
  • Git reset HEAD~1#这将把文件从提交移动到暂存
  • git stash#这将存储当前未提交的更改
  • git-pull——重基
  • git stash pop#在拉取的更改之上,从原始提交恢复存储的更改
  • 在此之后可能会有冲突,您必须解决这些冲突。您还可以在步骤2之后和步骤3之前签出未合并的文件,以不保存它们。 请参阅。

    尝试以下操作:

  • 使用最初添加的文件签出提交
  • Git reset HEAD~1#这将把文件从提交移动到暂存
  • git stash#这将存储当前未提交的更改
  • git-pull——重基
  • git stash pop#在拉取的更改之上,从原始提交恢复存储的更改
  • 在此之后可能会有冲突,您必须解决这些冲突。您还可以在步骤2之后和步骤3之前签出未合并的文件,以不保存它们。
    请参阅。

    该命令使用原始分支(我从中推导出的分支)的更改创建新分支。如果我选择这一个,我会遇到同样的问题,我的代码仍然被删除/修改(我尝试了)。
    git checkout master
    并将其用于合并版本。如果您不想在master中保存代码,请将其提交到新分支,或者执行
    git stash apply
    git stash pop
    ,该命令将根据原始分支(我从中推导出的分支)的更改生成新分支。如果我选择这一个,我会遇到同样的问题,我的代码仍然被删除/修改(我尝试了)。
    git checkout master
    并将其用于合并版本。如果您不想在master中保存代码,请将其提交到新分支,或者执行
    git stash apply
    git stash pop