[請益] 請教git的一些問題

看板Soft_Job作者 (累人啊....)時間11年前 (2014/12/20 07:51), 編輯推噓10(10028)
留言38則, 13人參與, 最新討論串1/1
請問一下,今天我有兩台PC在使用git,因為某些原因 在後期這兩台PC是沒有網路連接的,但是我又想要讓兩台的記錄是同步的 所以我只好手動copy .git資料夾,讓兩邊的.git內容相同 但是.git會隨著commit的增加,容量會越來越大,舉例 A->B ->C->D ->E ->H H為最新的commit |->F->G-| |->I G為另一個branch最新的commit,然後DG合併到E I是從E分出來的另一個branch E之前的記錄我都不要了,怎麼刪掉? 我的主要目的是希望讓兩台沒有網路連結的PC記錄同步,所以去copy .git 為了便於copy,所以讓.git容量變小 google的答案似乎要用到filter-branch,但是我試不出來 我該怎麼做呢?謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.227.104.69 ※ 文章網址: http://www.ptt.cc/bbs/Soft_Job/M.1419033117.A.BDD.html

12/20 09:11, , 1F
rebase
12/20 09:11, 1F

12/20 11:42, , 2F
只copy patch就好啦?為何要copy .git/
12/20 11:42, 2F

12/20 14:20, , 3F
這應該是你需要的 http://git-scm.com/docs/git-gc
12/20 14:20, 3F

12/20 14:21, , 4F
檔案分割軟體呢 HJSplit 兩張 都裝無線網卡呢usb的
12/20 14:21, 4F

12/20 14:29, , 5F
用隨身碟做一個共用的資料庫 pull push 感覺比複製的方便
12/20 14:29, 5F

12/20 14:32, , 6F
google 隨身碟資料庫嗎 Xampp嗎
12/20 14:32, 6F

12/20 18:57, , 7F
1 把.git/objects 整個資料夾copy 過去
12/20 18:57, 7F

12/20 19:00, , 8F
2. 再把.git/refs/裡面你要的branch 烤過去
12/20 19:00, 8F

12/20 19:02, , 9F
以上動作完全等效於git push/fetch -f
12/20 19:02, 9F

12/20 19:05, , 10F
最後再用git gc清理.git裡面的垃圾桶,減少空間
12/20 19:05, 10F

12/21 08:32, , 11F
dropbox
12/21 08:32, 11F

12/21 08:32, , 12F
至於放隨身碟真的是找自己麻煩
12/21 08:32, 12F

12/21 08:32, , 13F
你隨身碟出個意外什麼就沒了
12/21 08:32, 13F

12/21 08:33, , 14F
dropbox or bitbucket
12/21 08:33, 14F

12/21 08:34, , 15F
沒有網路就讓他有網路 或弄台檔案伺服器放
12/21 08:34, 15F

12/21 08:35, , 16F
另外你說的檔案越來越大我覺得有一部分是你沒把該ignore的東
12/21 08:35, 16F

12/21 08:35, , 17F
西弄掉
12/21 08:35, 17F

12/21 08:38, , 18F
最差的方式就是你最起碼要有個跳線或route幫你電腦對電腦的
12/21 08:38, 18F

12/21 08:38, , 19F
區域傳輸
12/21 08:38, 19F

12/21 12:17, , 20F
會出問題的還是會出問題啊~儲存裝置會出意外~不代表網路
12/21 12:17, 20F

12/21 12:17, , 21F
不會啊~也不代表網路那頭的儲存裝置不會~不是嗎?
12/21 12:17, 21F

12/21 21:09, , 22F
我試了用隨身碟作共用資料庫,這方式不錯,也試了git gc
12/21 21:09, 22F

12/21 21:09, , 23F
容量也壓縮不少,但是用git log看,早期的記錄還是在
12/21 21:09, 23F

12/21 21:09, , 24F
有辦法將早期(eg.兩個星期之前)的紀錄全刪了
12/21 21:09, 24F

12/21 21:10, , 25F
請問該怎麼用?
12/21 21:10, 25F

12/21 21:49, , 26F
不要直接拷貝 .git 目錄, git 有提供 push 到本機目錄的
12/21 21:49, 26F

12/21 21:50, , 27F
功能, 請讓兩邊都 push 到一個隨身碟(之類的)來同步
12/21 21:50, 27F

12/21 21:52, , 28F
然後拜託不要刪 repository 的 log
12/21 21:52, 28F

12/21 21:54, , 29F
請查rebase
12/21 21:54, 29F

12/21 22:05, , 30F
用隨身碟同步這招我試了,還不錯,符合我的需求,不過log
12/21 22:05, 30F

12/21 22:05, , 31F
不刪的理由是?太早的commit我的確不需要了阿
12/21 22:05, 31F

12/21 22:06, , 32F
然後關於rebase,我有看過http://ppt.cc/rxC~ 可以解決我
12/21 22:06, 32F

12/21 22:06, , 33F
的問題? 因為大家提了一種以上的方法,我想趁這時候多試試
12/21 22:06, 33F

12/21 23:24, , 34F
以前比較麻煩,現在有 --root 可以用:
12/21 23:24, 34F

12/21 23:24, , 35F
12/21 23:24, 35F

12/23 00:33, , 36F
我覺得不用砍 手邊有個五年的專案 commit上萬次
12/23 00:33, 36F

12/23 00:34, , 37F
bundle出來也才150MB左右而已
12/23 00:34, 37F

12/23 00:35, , 38F
(專案不大就是了
12/23 00:35, 38F
文章代碼(AID): #1KbBeTlT (Soft_Job)