【发布时间】:2012-02-21 11:34:29
【问题描述】:
是否可以删除存储库中的所有文件并仅使用本地计算机中的文件对其进行更新?原因是,有些文件在我的 github 中是不需要的,所以我想删除这些文件。我不想一个一个地删除文件,而是想看看是否可以只删除我的 git repo 中的所有文件并仅使用本地计算机中的文件更新/推送。希望它清楚。谢谢。
【问题讨论】:
是否可以删除存储库中的所有文件并仅使用本地计算机中的文件对其进行更新?原因是,有些文件在我的 github 中是不需要的,所以我想删除这些文件。我不想一个一个地删除文件,而是想看看是否可以只删除我的 git repo 中的所有文件并仅使用本地计算机中的文件更新/推送。希望它清楚。谢谢。
【问题讨论】:
从工作副本的顶部执行git add -A,查看git status 和/或git diff --cached 以查看您将要执行的操作,然后查看git commit 结果。
【讨论】:
是的,如果您执行git rm <filename> 并提交并推送这些更改。该文件将从该变更集和未来提交的存储库中消失。
该文件仍可用于以前的修订版。
【讨论】:
你可以这样做:
cd /tmp
git clone /your/local/rep # make a temp copy
cd rep
git rm -r * # delete everything
cp -r /your/local/rep/* . # get only the files you want
git add * # add them again
git status # everything but those copied will be removed
git commit -a -m 'deleting stuff'
cd /your/local/rep
git pull /tmp/rep # now everything else has been removed
这可能有一个单行线......
【讨论】:
git rm -r * 不能可靠地工作,因为 * 由 shell 扩展,因此您在 CWD 中传递与 * 匹配的文件和目录列表。这将无法匹配以. 开头的文件以及其他问题。目的可能是将 * 传递给 git,通过引用星号实现:git rm -r '*'。
首先,使用以下命令从您的 Git 存储库中删除所有文件:git rm -r *
之后你应该提交:使用git commit -m "your comment"
之后,您使用:git push 推送(即更新原始存储库)
使用以下方式验证您的状态:git status
之后,您可以复制本地 Git 文件夹中的所有本地文件,然后使用以下命令将它们添加到 Git 存储库:git add -A
你提交 (git commit -m "your comment" 然后你推送 (git push)
【讨论】:
git rm -r * 不能可靠地工作,因为 * 由 shell 扩展,因此您在 CWD 中传递与 * 匹配的文件和目录列表。这将无法匹配以. 开头的文件以及其他问题。目的可能是将 * 传递给 git,通过引用星号实现:git rm -r '*'。
警告:这将删除您的文件,请确保您有备份或可以恢复提交。
删除存储库中的所有元素:
$ git rm -r *
然后:
$ git commit -m 'Delete all the stuff'
【讨论】:
git rm -r * 不能可靠地工作,因为 * 由 shell 扩展,因此您在 CWD 中传递与 * 匹配的文件和目录列表。这将无法匹配以. 开头的文件以及其他问题。目的可能是将 * 传递给 git,通过引用星号实现:git rm -r '*'。
这个过程很简单,和任何 git 提交都遵循相同的流程。
git pull)git commit -m "nuke and start again"
git push
【讨论】:
删除隐藏的 .git 文件夹(您可以在项目文件夹中找到该文件夹)并再次使用 git init 命令开始创建 git 存储库的过程。
【讨论】:
删除存储库中的所有元素:
git rm -r * -f -q
然后:
git commit -m 'Delete all the stuff'
然后:
git push -u origin master
然后:
Username for : "Your Username"
Password for : "Your Password"
【讨论】:
就我而言
git rm -r .
成功了
【讨论】:
我正在尝试做:
git rm -r *
但最后对我有用:
git rm -r .
希望对你有帮助。
【讨论】:
删除所有不属于存储库的文件(例如,在切换分支后进行干净构建):
git status | xargs rm -rf
【讨论】:
首先,使用 cd(更改目录)命令导航到您的文件夹。然后使用命令确保你在正确的 git 分支中工作
git branch
如果要删除整个文件。你也可以使用
git rm -r .
用于删除单个文件,
git rm file1.txt (file1.txt - 文件名)
用于删除文件夹,
git rm -r foldername
删除文件或文件夹后,应提交:
git commit -m "your comment"
然后就可以推送分支了:
git push
// for example,
git push origin develop
(它将更新原始存储库)
【讨论】:
如果您更喜欢使用GitHub Desktop,您只需在本地存储库的父目录中导航并删除父目录中的所有文件。然后,提交并推送您的更改。您的存储库将清除所有文件。
【讨论】:
我试过这样
git rm --cached -r * -f
它对我有用。
【讨论】: