目前,我有以下文件夾結構:變化git的結構
root
.git (folder)
Folder A
SubFolderA
...
Folder B
...
而且我想以下結構:
root
Folder A
.git (folder)
SubFolderA
...
Folder B
...
我如何能做到這一點,而不破壞我目前的回購?
在此先感謝。
目前,我有以下文件夾結構:變化git的結構
root
.git (folder)
Folder A
SubFolderA
...
Folder B
...
而且我想以下結構:
root
Folder A
.git (folder)
SubFolderA
...
Folder B
...
我如何能做到這一點,而不破壞我目前的回購?
在此先感謝。
如果你真的想要的,然後繼續和移動它:
$ 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
你不如果您想稍後閱讀這些文件,則必須擔心這些其他文件,其歷史記錄不會丟失。
例如,如果您決定回滾此提交你總是可以做到這一點:
$ git reset --hard @^
注意這將如何重新FolderA/FolderB
下的FolderB
的第二個副本:
..
├── FolderA
│ ├── FolderA
│ │ ├── FileInA1
│ │ ├── FileInA2
│ │ ├── FileInA3
│ │ ├── FileInA4
│ │ └── FileInA5
│ └── FolderB
│ ├── FileInB1
│ ├── FileInB2
│ ├── FileInB3
│ ├── FileInB4
│ └── FileInB5
└── FolderB
├── FileInB1
├── FileInB2
├── FileInB3
├── FileInB4
└── FileInB5
你爲什麼會想要移動'.git'?如果將'.git'移動到'文件夾A',這會導致文件不在'Folder A'('文件夾B')中,而不是由git控制的版本。 –
**爲什麼**你想要/需要移動.git文件夾?你應該很少關心這個文件夾。 –
@ Marina-MSFT'文件夾B'和其餘文件(文件夾A'除外)對存儲庫目的來說並不重要。當我通過將'文件夾B'添加到git來創建回購時,我犯了一個錯誤,所以'文件夾B'不再受git控制的版本無關緊要。 (抱歉,如果我寫了這個錯誤,英語不是我的第一語言:P) – chestacio