我記錄了無數個小時,試圖解決此問題。我發現了許多類似的問題,但是,還沒有找到我能夠理解的解決問題的答案。這裏是我的問題,我希望你能幫助:將某些文件(不是提交)從一個分支合併到另一個分支
我有一個項目,有一個部署分支(只有腳本和它的配置文件),我推送給github,所以我的客戶可以拉最新版本的代碼。我有一個開發分支,它具有相同的2個文件,腳本和配置文件,以及許多其他文件(有時數百個,其中一些真的是50到200 MB)。我們稱這些分支爲'項目'和'項目開發'。開發分支中的文件在編碼過程中被填充,添加和提交。
我在項目分支的腳本目錄中有一個.gitignore,忽略了所有放置它自己和上面列出的文件。
的.gitignore在我的劇本導演:
*
!.gitignore
!/*.pl
!/*.conf
所以,當我不編碼,做我的最後承諾項目的開發,我這樣做:
git的結帳項目
git merge project-dev
而git將project-dev中的每個文件合併到項目中。別急,我的.gitignore文件詮釋他的腳本目錄......沒問題,一個合併的首要任務刪除的.gitignore文件:(
delete mode 100644 scripts/.gitignore
然後將所有其他文件被添加... :(
create mode 100644 scripts/0.0.0.0-nets.txt
create mode 100644 scripts/1453134549-all-exported-networks.csv
create mode 100644 scripts/1453392277-all-hosts.csv
create mode 100644 scripts/1453392277-all-networks.csv
create mode 100644 scripts/1453407843-all-hosts.csv
create mode 100644 scripts/1453407843-all-networks.csv
create mode 100644 scripts/1453409789-all-hosts.csv
create mode 100644 scripts/1453409789-all-networks.csv
create mode 100644 scripts/1453415039-all-hosts.csv
create mode 100644 scripts/1453415039-all-networks.csv
create mode 100644 scripts/1453428006-all-hosts.csv
create mode 100644 scripts/1453428006-all-networks.csv
create mode 100644 scripts/1453429183-all-hosts.csv
create mode 100644 scripts/1453429183-all-networks.csv
create mode 100644 scripts/1453432643-all-hosts.csv
create mode 100644 scripts/1453432643-all-networks.csv
create mode 100644 scripts/1453433494-all-hosts.csv
create mode 100644 scripts/1453433494-all-networks.csv
create mode 100644 scripts/1453437439-all-hosts.csv
.
.
.
create mode 100644 scripts/Report_NETS_20160122_103537.txt
create mode 100644 scripts/Report_NETS_20160122_103537.txt
create mode 100644 scripts/Report_NETS_20160122_105113.txt
create mode 100644 scripts/Report_NETS_20160122_105113.txt
create mode 100644 scripts/Report_NETS_20160122_153820.txt
create mode 100644 scripts/Report_NETS_20160122_153820.txt
create mode 100644 scripts/Report_NETS_20160122_155209.txt
create mode 100644 scripts/Report_NETS_20160122_155209.txt
create mode 100644 scripts/all-hosts.dat
create mode 100644 scripts/all-nets.dat
create mode 100644 scripts/exported-networks-headers.csv
create mode 100644 scripts/fixed.csv
create mode 100644 scripts/hosts.csv
create mode 100644 scripts/network-report-headers-some-commented.txt
create mode 100644 scripts/network-report-headers.txt
create mode 100644 scripts/networks-headers.csv
create mode 100644 scripts/networks.csv
create mode 100644 scripts/refactored.txt
create mode 100644 scripts/test-host.csv
create mode 100644 scripts/test-network.csv
我真的只有兩個文件,一個腳本及其配置在合併期間過來(可能不在上面的輸出中,因爲它們處於一個非常長的文件列表中...... )不,沒有可以單獨列出這些文件的「提交」,當我更新腳本並運行它時,它創建了一堆文件,所有這些文件都在我決定創建時提交的文件中國王OK。
我想/需要-dev分支中的所有這些工作文件,但是,不能在投影面向客戶的分支中擁有它們。
有沒有辦法?或者,如果我在文件和提交之間沒有一對一的關係,我是否運氣不好?
在此先感謝!
ACC ...
你可以開始一個新的分支,刪除你不想要的所有文件,然後將它合併到你想要的位置。如果你不喜歡這種解決方案,可能需要黑暗的魔術貼(特別是「濾鏡分支」)。 – PyRulez
是的,我看到一個線程在某處(我的腦袋開始受傷......雙關語意)說過濾分支和bfg。過濾分支的東西看起來更像是提交過濾,但是,我可能會誤解它。 bfg看起來像一個更容易的選項,但是,在有限的一面仍然有點兒。看起來,git在提交版本方面做得很好,但不是那麼多的文件。 – user3220745
是的,那麼你可能想要跟我的第一個建議。 – PyRulez