2012-09-21 78 views
1

說我有在Github上(遠程)以下結構如何在遠程Git回購刪除文件

/project 
      /dir1 
      /dir2 
      file1 
      file2 

現在,我分叉回購並將其更改爲以下:

/project 
      /dir_list 
      /files_list 

當曾經我推回購,我想用遙控器如:

/project 
      /dir_list 
      /files_list 

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

我該怎麼做?

回答

5

嘗試

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

,並承諾,推動才把。

Alterntively,如果你得到足夠的重視,並等待一個答案其實做任何工作與回購前:你可以先刪除一切,然後做你的工作,再加入一切恢復:

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

說,如果我得到了回購50個這樣的文件。我根本無法將每個文件都放在命令行中! –

+0

@丹尼斯里奇爲什麼不呢? – 2012-09-21 04:59:19

+0

我的意思是,它非常繁瑣 –

2

輕微變化在H2C03answer(upvoted):

如果你已經做了很多的工作,並且不希望進入每一個文件到git rm命令再次克隆你的GitHub庫!

在該新克隆中,刪除所有內容,提交併推送。回到你的第一個克隆(你做了大量的重構,並且已經重構了git commit):git pull --rebase,然後git push
這將重播您從GitHub回購(即註冊刪除所有以前的文件的提交)的提交頂部的修改。

+0

這是非常好的。 +1。 – 2012-09-21 06:23:45

0

可以使用git mv命令:

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