如何删除Git远程仓库中的文件

时间:2012-09-21 04:52:49

标签: git version-control github

假设我在Github(远程)中有以下结构

/project
          /dir1
          /dir2
          file1
          file2

现在,我将repo分叉并将其更改为以下内容:

/project
           /dir_list
           /files_list

当我推动回购时,我希望遥控器像:

/project
           /dir_list
           /files_list

/project
          /dir1
          /dir2
          file1
          file2
          /dir_list
          /files_list

我该怎么做?

3 个答案:

答案 0 :(得分:5)

尝试

git rm -r dir1 dir2 file1 file2
git add ./*

然后才提交并推送。

另外,如果你在实际使用回购之前做了足够的注意并等待答案:你可以先删除所有内容,然后再做你的工作,然后再添加所有内容:

git rm -r ./* # this will delete ALL FILES
# ... copy the files you need, make changes
git add ./*

答案 1 :(得分:2)

H2C03 answer的{{3}}(upvoted)略有变化:

如果您已完成大量工作,并且不想将每个文件输入git rm命令...再次克隆您的GitHub仓库!

在新克隆中,删除所有内容,提交并推送。

回到您的第一个克隆(您进行了大规模重构并且已经git commit重构):git pull --rebase,然后是git push
这将在您从GitHub repo返回的提交之上重放您的修改(即提交注册删除所有以前的文件)。

答案 2 :(得分:0)

您可以使用git mv命令:

$ mkdir dir_list files_list
$ git mv dir1 dir2 dir_list/
$ git mv file1 file2 files_list/
$ git commit