A.txt echo "B" > B.txt git add . git com-6ren">
gpt4 book ai didi

git - 从 git 存储库中删除文件

转载 作者:太空狗 更新时间:2023-10-29 13:21:01 25 4
gpt4 key购买 nike

我在从我的 git 存储库中删除文件时遇到问题。为了演示:在一个空目录中执行:

git init
echo "A" > A.txt
echo "B" > B.txt
git add .
git commit -a -m "1. version"
echo "C" > C.txt
git add .
git commit -a -m "2. version"
echo "A" >> A.txt
git add .
git commit -a -m "3. version"

现在我想从存储库中完全删除文件“A.txt”(就好像它从未存在过一样):

rm A.txt
git log --pretty=oneline --branches -- A.txt
git filter-branch --index-filter \
'git rm --cached --ignore-unmatch A.txt' \
-- --all

给出输出:

3ce037a722c2f382a9da42f73577628a639cae25 3. version
43a12da356ad3643657e6bb06259c84f78b82bed 1. version
Cannot rewrite branches: You have unstaged changes.

然后 git status 给出:

# On branch master
# Changes not staged for commit:
# (use "git add/rm <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# deleted: A.txt
#
no changes added to commit (use "git add" and/or "git commit -a")

我在这里做错了什么?如何完全删除文件 A.txt

最佳答案

问题是您正在执行的 rm A.txt。这是未暂存的更改 git 报告。只需将此行移动到 git filter-branch 之后即可。

关于git - 从 git 存储库中删除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18826112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com