git如何删除提交保留文件

worktile 其他 176

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    要删除 Git 提交并保留文件,你可以按照以下步骤进行操作:

    1. 确定你要删除的提交的哈希值。你可以通过使用 `git log` 命令来查看提交历史,并找到你要删除的提交的哈希值。例如,假设要删除的提交哈希值为 `abc123`。

    2. 使用 `git rebase -i ` 命令来开始交互式的 rebase 操作,其中 `` 是要删除的提交的哈希值。例如,在命令中输入 `git rebase -i abc123`。

    3. 当打开交互式 rebase 的文本编辑器时,你会看到一个列出所有被选择提交的列表。在要删除的提交行上将 `pick` 替换为 `edit`。然后保存并关闭编辑器。

    4. 现在,Git 将会让你切换到你要删除的提交。你可以使用 `git show ` 命令查看该提交的详细信息以确保它是你要删除的正确提交。例如,使用 `git show abc123` 命令来查看提交 `abc123` 的详细信息。

    5. 使用 `rm` 命令删除那些你不想要保留的文件。例如,如果要删除名为 `file1.txt` 和 `file2.txt` 的文件,可以使用以下命令:`rm file1.txt file2.txt`

    6. 将删除的文件添加到暂存区。使用 `git add ` 命令将被删除的文件添加到暂存区。例如,使用以下命令将 `file1.txt` 添加到暂存区:`git add file1.txt`

    7. 使用 `git commit –amend` 命令提交更新。这将会修改你要删除的提交,将删除的文件从该提交中移除。Git 会打开一个文本编辑器,你可以留下一个简短的修改说明并保存关闭编辑器。

    8. 完成提交。使用 `git rebase –continue` 命令继续 rebase 过程。

    9. 最后,使用 `git push –force` 命令将修改推送到远程仓库。请注意,这种操作会改变远程仓库的历史记录,在团队协作的情况下,需要与团队沟通并确保其他人不会受到影响。

    通过执行以上步骤,你就可以删除 Git 提交并保留文件了。记得在进行类似的操作时要小心谨慎,并在必要时备份你的数据。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在git中删除提交并保留文件有多种方法,下面是一些常用的方法:

    1. 使用git reset命令:使用git reset命令可以将当前分支重置到指定的提交,并保留文件。具体操作步骤如下:
    – 使用命令`git log`查看提交日志,找到要删除的提交的哈希值。
    – 使用命令`git reset `将当前分支重置到指定的提交。注意,该命令会删除指定提交以后的所有提交,并将指定提交以及之后的修改撤销掉。
    – 提交重置后的分支使用命令`git push origin –force`强制推送到远程仓库。

    2. 使用git revert命令:使用git revert命令可以撤销指定提交的修改,并创建一个新的提交。具体操作步骤如下:
    – 使用命令`git log`查看提交日志,找到要删除的提交的哈希值。
    – 使用命令`git revert `将指定提交的修改撤销掉,并创建一个新的提交。
    – 提交撤销后的分支使用命令`git push origin `推送到远程仓库。

    3. 使用git cherry-pick命令:使用git cherry-pick命令可以选择性地将指定提交的修改应用到当前分支上。具体操作步骤如下:
    – 使用命令`git log`查看提交日志,找到要删除的提交的哈希值。
    – 使用命令`git cherry-pick `将指定提交的修改应用到当前分支上。
    – 提交应用修改后的分支使用命令`git push origin `推送到远程仓库。

    4. 使用git rebase命令:使用git rebase命令可以将当前分支的提交重新应用到另一个基准分支上。具体操作步骤如下:
    – 使用命令`git log`查看提交日志,找到要删除的提交的哈希值。
    – 使用命令`git rebase -i `将当前分支的提交重新应用到指定提交上。
    – 在打开的编辑器中删除要删除的提交的行。
    – 保存并关闭编辑器,git会自动应用修改。
    – 提交应用修改后的分支使用命令`git push origin –force`强制推送到远程仓库。

    5. 使用git filter-branch命令:使用git filter-branch命令可以修改提交历史。具体操作步骤如下:
    – 使用命令`git log`查看提交日志,找到要删除的提交的哈希值。
    – 使用命令`git filter-branch –commit-filter ‘if [ $GIT_COMMIT = ]; then skip_commit “$@”; else git commit-tree “$@”; fi’ HEAD`将要删除的提交过滤掉。
    – 提交过滤后的分支使用命令`git push origin –force`强制推送到远程仓库。

    需要注意的是,在使用这些方法删除提交时,一定要谨慎操作,确保删除的提交不会影响其他分支或合作者的工作。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    要删除提交并保留文件,您可以使用以下步骤:

    1. 检查提交历史
    – 使用`git log`命令查看提交历史,找到要删除的提交的哈希值或者提交消息。

    2. 创建一个新的分支
    – 使用`git branch `命令创建一个新的分支,并在该分支上执行后续操作,以保留原有的提交历史。

    3. 重置分支
    – 使用`git reset `命令将分支重置到要删除的提交之前的提交。可以使用提交的哈希值或者HEAD~来指定提交。
    – 例如,使用`git reset HEAD~1`命令将分支重置到上一个提交。

    4. 删除不需要的文件
    – 删除您不想保留的文件。可以使用文件管理器手动删除文件,或使用`git rm `命令删除文件。
    – 例如,使用`git rm file.txt`命令删除名为file.txt的文件。
    – 完成删除后,使用`git status`命令检查文件的删除状态。

    5. 提交更改
    – 使用`git commit -m “Delete unnecessary files”`命令提交更改。
    – 在提交消息中清楚地说明您已删除了不需要的文件。

    6. 强制推送到远程仓库
    – 使用`git push -f origin `命令将更改强制推送到远程仓库。
    – 使用`
    `替换为您创建的新分支的名称。

    请注意,这些操作将改变您的代码库的历史记录。强烈建议在执行这些操作之前先备份您的代码库。此外,如果其他人在您的仓库中工作,并且已经从您删除的提交中进行了拉取,他们也需要采取相应的措施来同步他们的仓库。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部