假设我在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
我该怎么做?
答案 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