2017-05-14 15 views
0

は、現在、私は次のフォルダ構造があります。変更gitの構造

root 
    .git (folder) 
    Folder A 
    SubFolderA 
    ... 
    Folder B 
    ... 

を私は次の構造をしたい:私は私の現在のレポを破壊せずにこれを行うことができますどのように

root 
    Folder A 
    .git (folder) 
    SubFolderA 
    ... 
    Folder B 
    ... 

を?

ありがとうございます。

+0

なぜだろうあなたはこのコミットロールバックすることを決定した場合は、常にそれを行うことができる。例えば

、 '.git'を動かしたいですか? '.git'を' folder A'に移動すると、 'Folder A'(' Folder B')のファイルはgitによってバージョン管理されなくなります。 –

+1

**なぜ** .gitフォルダを移動したい/したいですか?まれにこのフォルダを気にする必要はありません。 –

+0

@ Marina-MSFT 'Folder B'と残りの部分(' folder A'を除く)は、リポジトリの目的ではあまり重要ではありません。私はgitに 'folder B 'を追加してリポジトリを作成したときに間違いをしたので、' folder B'はバージョン管理されていません。 (私がこれを書いたことを間違えた場合、英語は私の最初の言語ではありません:P) – chestacio

答えて

0

あなたは本当にその後、先に行くとそれを動かす、という場合:

$ mv .git FolderA/ 
$ cd FolderA/ 
$ git add . 

しかしFolderB内のすべてのファイルは、現在のソース制御不能になりますどのように注意してください:

$ git commit -m "Remove all but FolderA from source control" 
[master d044479] Remove all but FolderA from source control 
10 files changed, 5 deletions(-) 
rename FolderA/FileInA1 => FileInA1 (100%) 
rename FolderA/FileInA2 => FileInA2 (100%) 
rename FolderA/FileInA3 => FileInA3 (100%) 
rename FolderA/FileInA4 => FileInA4 (100%) 
rename FolderA/FileInA5 => FileInA5 (100%) 
delete mode 100644 FolderB/FileInB1 
delete mode 100644 FolderB/FileInB2 
delete mode 100644 FolderB/FileInB3 
delete mode 100644 FolderB/FileInB4 
delete mode 100644 FolderB/FileInB5 

あなたはしないでください後でそれらを読みたい場合は、これらの他のファイルについて心配する必要があります。その履歴は失われません。これはFolderA/FolderBFolderBの2番目のコピーを再作成する方法

$ git reset --hard @^ 

がお知らせ:

.. 
├── FolderA 
│   ├── FolderA 
│   │   ├── FileInA1 
│   │   ├── FileInA2 
│   │   ├── FileInA3 
│   │   ├── FileInA4 
│   │   └── FileInA5 
│   └── FolderB 
│    ├── FileInB1 
│    ├── FileInB2 
│    ├── FileInB3 
│    ├── FileInB4 
│    └── FileInB5 
└── FolderB 
    ├── FileInB1 
    ├── FileInB2 
    ├── FileInB3 
    ├── FileInB4 
    └── FileInB5 
+0

ありがとう!私はそれがこれより難しいと思った。私は明白な答えを省略しました。 – chestacio

+0

そして、 'folder B'とそれ以外をgitの履歴から削除するにはどうしたらいいですか? – chestacio

+0

'filter-branch'コマンドを使います。 'git help filter-branch'、または[this guide](https://help.github.com/articles/removing-sensitive-data-from-a-repository/)、またはSOの答えを検索してください。 – eush77

関連する問題