1

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

/project
          /dir1
          /dir2
          file1
          file2

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

/project
           /dir_list
           /files_list

每当我推送 repo 时,我希望遥控器是这样的:

/project
           /dir_list
           /files_list

不是

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

我怎么做?

4

3 回答 3

5

尝试

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

然后才提交和推送。

或者,如果您在实际对 repo 进行任何工作之前给予足够的关注并等待答案:您可以先删除所有内容,然后执行您的工作,然后再添加所有内容:

git rm -r ./* # this will delete ALL FILES
# ... copy the files you need, make changes
git add ./*
于 2012-09-21T04:54:34.013 回答
2

H2C03答案略有不同(赞成):

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

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

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

于 2012-09-21T06:01:40.497 回答
0

您可以使用以下git mv命令:

$ mkdir dir_list files_list
$ git mv dir1 dir2 dir_list/
$ git mv file1 file2 files_list/
$ git commit
于 2012-09-21T07:02:40.560 回答