如何删除我的git仓库中的所有文件并从我当地的git仓库更新/推送?

dch*_*tri 54 git github git-push

是否可以删除存储库中的所有文件并仅使用我本地计算机中的文件进行更新?原因是,在我的github中有一些不需要的文件,所以我想删除这些文件.我没有逐个删除文件,而是想看看是否可以删除我的git repo中的所有文件并仅使用本地机器中的文件进行更新/推送.希望清楚.谢谢.

pas*_*cal 54

你可以这样做:

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
Run Code Online (Sandbox Code Playgroud)

可能有一个oneliner ...

  • `git rm -r *` 无法可靠地工作,因为 `*` 由 shell 扩展,因此您要传递与 CWD 中的 `*` 匹配的文件和目录列表。除其他问题外,这将无法匹配以“.”开头的文件。其目的可能是将 * 传递给 git,通过引用星号来实现:`git rm -r '*'`。 (7认同)

tab*_*bim 35

首先,使用以下命令从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-ignore 中的文件。只是试图从 git 存储库中删除所有内容,而不是文件系统。 (2认同)
  • `git rm -r *` 无法可靠地工作,因为 `*` 由 shell 扩展,因此您要传递与 CWD 中的 `*` 匹配的文件和目录列表。除其他问题外,这将无法匹配以“.”开头的文件。其目的可能是将 * 传递给 git,通过引用星号来实现:`git rm -r '*'`。 (2认同)

Fir*_*ero 26

是的,如果您执行git rm <filename>并提交并推送这些更改.该文件将从该变更集和将来的提交的存储库中消失.

该文件仍可用于以前的修订版.


Jor*_*sys 7

删除存储库中的所有元素:

$ git rm -r *
Run Code Online (Sandbox Code Playgroud)

然后:

$ git commit -m 'Delete all the stuff'
Run Code Online (Sandbox Code Playgroud)

  • `git rm -r *` 无法可靠地工作,因为 `*` 由 shell 扩展,因此您要传递与 CWD 中的 `*` 匹配的文件和目录列表。除其他问题外,这将无法匹配以“.”开头的文件。其目的可能是将 * 传递给 git,通过引用星号来实现:`git rm -r '*'`。 (3认同)

Var*_*P V 7

首先,使用cd(更改目录)命令导航到您的文件夹。然后使用以下命令确保您位于要工作的正确 git 分支中

git branch
Run Code Online (Sandbox Code Playgroud)

如果你想删除整个文件。你可以使用同样的方法

git rm -r .

用于删除单个文件,

git rm file1.txt( file1.txt - 文件名)

对于删除文件夹,

git rm -r foldername

删除文件或文件夹后,您应该提交它:

git commit -m "your comment"
Run Code Online (Sandbox Code Playgroud)

然后你可以推送分支:

git push
// for example, 
git push origin develop
Run Code Online (Sandbox Code Playgroud)

(它将更新原始存储库)


HoC*_*Co_ 6

就我而言

git rm -r .

做好了工作


rob*_*pim 5

这个过程很简单,并且遵循与任何 git commit 相同的流程。

  1. 确保您的回购完全是最新的。(例如:git pull
  2. 导航到本地磁盘上的 repo 文件夹。
  3. 删除不再需要的文件。
  4. 然后 git commit -m "nuke and start again"
  5. 然后 git push
  6. 利润。