2012-01-20 23:18:24

我的 git-svn 用法

去年在前公司的 wiki 上寫過一次我自己如何使用 git 管理 svn repo, 今年在本公司的 wiki 也寫了一點, 今天又被人問如何使用, 所以我決定來稍微寫一下我自己的 git-svn 用法, 以後只要丟 link 給別人就好了. XD

概論

先簡單介紹一下 git 和 svn 的差異之處. 我認為比較需要注意的部份如下:

  1. git 是分散式版本控制系統. 這點和 svn 的中央控管式有很大的不同. 最顯著的差別有:
    • git 的 commit 只是送到本地的 repo 而已. 如果本地 repo 有上游的話, 需要手動送回上游, 才會把本地更動送回去. 也就是說, 在本地 repo 隨意亂搞是不會影響上游的.
    • 因為是分散式, 所以本地 repo 擁有所有的 history.
    • 因為本地 repo 擁有所有的 history, 所以所有的動作都在本地進行, 速度飛快~
    • 除了跟上游 repo 同步之外, 其它時間不會使用到網路. 意思是你在車上, 在飛機上, 在深山的溫泉裡都可以進行 commit, 等到有網路時再同步.
  2. git 分支 (branch) 功能超容易, merge 的功能也超強. svn 以目錄習慣來做分支. 雖然比 cvs 方便, 但是也因此被很多人誤用. 我在工作上看過好幾次別人跨越分支目錄在 commit 程式的.

初步設定

在開始使用之前, 系統要先裝 git 和 git-svn. 這部份我相信稍微搜尋一下, 應該就有一卡車的文章. 而且各 un*x 系統應該都有提供套件可供安裝, 應該不會太困難.

程式裝好之後, 再來就是先把自己想要使用的 svn repo clone 一份下來. 如果 svn repo 使用 svnbook 建議的目錄結構, 它應該會有 SVN_URL/{trunk,branches,tags} 的結構. 指令就會是:

git svn init -s SVN_URL {TARGET_DIR}

其中 {TARGET_DIR} 是想要儲存在本地磁碟的目錄名稱. 如果你的狀況複雜點, 請參考 git svn --help 看看有什麼參數可以使用.

請注意以下有關於分支的介紹, 都是以標準目錄結構的 svn repo 來講的. 如果你的 svn repo 不是的話 (是說真的有人這樣做嗎?), 那你得自己再研究怎麼用 git 管理 svn repo.

這個步驟會把 svn repo 整個 clone 下來. 視 svn repo 的大小, 這個步驟可能只要幾分鐘, 也可能要幾個禮拜 (是的, 我跑過超過一個禮拜的). 完成之後, 你應該就有一個上游是 svn repo 的 git repo 可以用了. 可以用

git svn info

看看這個 git repo 對應的 svn repo 資訊.

現在可以用

git branch

看看目前的 git 分支. 應該只會有 master. 這個是對應到 svn repo 的 trunk. 原則上我會把 master 只對應到 svn 的 trunk. 我以前曾經讓它在不同的 svn 分支切換, 結果有一次就造成嚴重的問題, 一堆 commit 都不見了. 修了很久才把消失的 commit 都撿回來. 以下的使用方法, 在我自己使用一年多以來, 還沒發生過問題. 只要好好遵守, 我想應該不會出什麼大問題才是.

基本流程

懶得一步步寫, 直接看吧.

git svn rebase     # 抓回上游 svn repo 的更新
git log --name-status # 類似 svn log -v. 看看 commit log.
# 編輯程式
git diff                  # 看看改了什麼
git add -i              # 挑要 commit 的檔案. -i 超方便的~
git commit            # commit 回 *本地* 的 git repo
# 重複 編輯程式 到 commit 之間的動作
git svn rebase      # 再跟上游 svn repo 進行同步. 有 conflict 要修好~
git svn dcommit    # 把本地的 commit 送回 svn repo

需要一提的是 git 在 repo 和 working copy 之間, 還有一個 stage. 你得把 working copy 裡需要 commit 的檔案, 先透過 git add 加進 stage, 再用 git commit 將 stage 裡的更動 commit 回 git repo. 我會建議使用 git add -i 提供的互動命令列來把檔案加進 stage, 還滿方便的.

svn repo 的分支

很不幸地, 我們不能完全丟掉 svn. 要建立 svn 的分支, 還是建議使用 svn 來建. 雖然有 git svn branch 可以使用, 不過我並不推薦.

另外, 要 merge svn 的分支一樣得使用 svn. git 在這裡也幫不上忙. 最主要的原因, 是 git-svn 並不會維護 svn:merge-info. 這在 svn 裡可是很重要的!

但是建立和 merge svn 的分支的情況畢竟不多. 絕大多數的使用情況, 還是基本流程而已. 我們還是可以用 git 來同步上游 svn 分支.

最開始的 git clone -s 會把分支和標記 (tag) 都一併複製下來. 我們可以使用

git branch -r

來看看上游 svn 的分支. 不過它會列出 *所有* 曾經使用過的分支名稱, 所以我們還是得使用 svn ls SVN_URL/branches 來看看目前有哪些分支.

決定好要使用哪個 svn repo, 接下來就是切換過去使用. 假設分支的名稱叫 BRANCH:

git checkout -b svn-BRANCH remotes/BRANCH

現在我們建立了一個本地的 git 分支, 它的名稱是 svn-BRANCH, 它的上游是 svn 的 BRANCH 分支, 而且我們也切換到 svn-BRANCH 分支裡來了. 接下來的基本流程, 就都是發生在 svn-BRANCH 裡. 和上游同步也會送到 BRANCH 分支去:

git svn fetch --all # 抓回上游 svn repo *所有* 的更新
git svn rebase     # 同步上游 svn repo 的更新
git log --name-status # 接近 svn log -v. 看看 commit log.
# 編輯程式
git diff                  # 看看改了什麼
git add -i              # 挑要 commit 的檔案
git commit            # commit 回 *本地* 的 git repo
# 重複 編輯程式 到 commit 之間的動作
git svn rebase      # 再跟上游 svn repo 進行同步. 有 conflict 要修好~
git svn dcommit    # 把本地的 commit 送回 svn repo

請注意這裡多了 git svn fetch --all. 這裡是抓回上游 svn repo 的所有更新, 包含各個分支的更新. 而且它只會抓到本地端而已, 不會合併至目前的 git repo. 要到 git svn rebase 指令才會合併至目前的 git repo. 使用 git svn fetch --all 的原因是分支之間可能會有 merge, git-svn 會自動找出來, 並建立之間的關聯.

建立本地 git 分支

前面有提到 git 的分支功能非常強大, 使用 git 而不用到它的分支功能, 可以說是一種浪費. XD

本節會放在 svn branch 的後面, 是因為我會介紹我慣用的命名法. 它可以讓我只要看分支的名稱, 就可以知道它的來源, 以決定我在分支做完之後要 merge 回哪裡, 減少我犯錯的機會.

命名法很簡單, 它包含三個部份:

{SOURCE_TYPE}-{NAME}-{SOURCE}

其中:

  • {SOURCE_TYPE}: gitsvn. 標明它的上游在哪一個 repo.
  • {NAME}: 分支名稱. 基本上就是描述這個分支要做什麼.
  • {SOURCE}: 從哪一個分支建立出來的.

git 分支的建立原則上是:

  • svn-* 分支與上游 svn 的分支為一對一的對應關係.
  • git-*-* 應該是由本地的 svn-* 再建立出來.

來看幾個例子會比較清楚:

  • svn-BRANCH: 這是一個對應到上游 svn 的 BRANCH 分支的分支.
  • git-GreatIdea-trunk: 這是一個從本地 git trunk 分支建立出來, 名叫 GreatIdea 的分支. 它對應到的 svn 分支為 trunk. 還記得 master 永遠對應到 trunk?
  • git-Refactor-BRANCH: 這是從本地的 svn-BRANCH 分支建立出來, 名叫 Refactor 的分支.

所以 git 分支的流程大概是:

git checkout svn-BRANCH  # 假設我們目前在 svn-BRANCH
git checkout -b git-Refactor-BRANCH # 依普拉拉命名法建立 git 分支
# 編輯程式
git diff                  # 看看改了什麼
git add -i              # 挑要 commit 的檔案
git commit            # commit 回 *本地* 的 git repo
# 重複 編輯程式 到 commit 之間的動作
git checkout svn-BRANCH          # 準備 merge 回 svn-BRANCH
git merge git-Refactor-BRANCH # merge
git log --name-status                # 檢查 merge 是否有問題
git branch -D git-Refactor-BRANCH # 移除剛剛建立的分支
# 接下來同 "svn repo 的分支"

git merge 可能會產生衝突. 解決之後, 記得要使用 git add, git commit 手動 commit 進去.

使用 git branch -D 強制移除分支, 是因為前一步的 git merge 只會 merge commit, 但是還不會標記 merge point. 此時移除分支, 會有 "分支未 merge" 的警告出現. 事實上我們也不要 git 標記 merge point, 否則送回 svn repo 會變成一個什麼更動都沒有的 commit, 反而更困擾.

結尾

以上差不多就是我日常使用的 git-svn 命令. 其它像是 git stash 也是非常方便的命令, 這裡就不寫. (其實是因為我想睡了... v.v)

由 plasma 於 2012-01-20 23:18:24 所發表
迴響

電漿這篇讚~
筆記ing...

Dabinn 於 2012-01-24 02:47:50 所發表

Здравствуйте дамы и господа
Наша компания мы занимаем первое место по качеству и цене производства аква продукции в г.Львов. Вас может заинтерсовать:
водопад купить
– сделаете Ваше помещение уютнее и привлекательнее, создаст теплую релаксирующую обстановку.

Ilonlzgq 於 2020-04-21 17:03:35 所發表

Здравствуйте друзья! Предлагаем Вашему вниманию интересный сайт для заказа бурения скважин на воду. Заказывайте скважину для воды в ЕВРОБУРСЕРВИС – получите доступ к экологически чистой природной воде по самым выгодным в Минске ценам! Более подробная информация размещена тут https://drive.google.com/file/d/14WNRakU9DtUUJSwzsL4smlzgF0mODipG/view?usp=sharing
От всей души Вам всех благ!

Antoniotcd 於 2020-04-22 22:13:47 所發表

Привет дамы и господа
Наша предприятие мы занимаем первое место по качеству и цене производства аква продукции в Харькове. Вас может заинтерсовать:
искусственный водопад
– сделаете Ваше помещение уютнее и привлекательнее, создаст теплую релаксирующую обстановку.

Alonlwth 於 2020-04-25 02:17:18 所發表

Приветствую Вас дамы и господа!
Наша компания занимается свыше 10 лет изготовлением памятников из гранита в городе Минске.Основные направления и виды нашей деятельности:

1)памятники из гранита минск

2)изготовление памятников минск

3)ограда на кладбище минск

4)благоустройство могил минск

5)благоустройство захоронений минск
Всегда рады помочь Вам!С уважением, PRIME GRANIT
http://yadakar.com/forum/member.php?130173-Zelenadoa
http://www.sygk100.cn/home.php?mod=space&uid=1328399
http://cityup.chinasus.org/bbs/space-uid-303260.html
https://ttxunhuan.com/home.php?mod=space&uid=1725509
http://schoolgs.ru/index/rekomendacii_dlja_roditelej_v_period_distancionnogo_obuchenija/index/8-70949

Zelenachk 於 2020-06-11 10:40:57 所發表

Добрый день дамы и господа!
Предлагаем Вашему вниманию изделия из стекла для дома и офиса.Наша организация ООО «СТЕКЛОЭЛИТ» работает 10 лет на рынке этой продукции в Беларуси.
Более подробная информация размещена https://drive.google.com/file/d/1M3yBV_X6avVPgF2FyJhEy5k9Xdyq9NUo/view?usp=sharing
Увидимся!

Bogdankor 於 2020-08-19 00:00:26 所發表

Приветствую Вас дамы и господа!
Наша фирма занимается свыше 10 лет продажей промышленных и фасадных красок в городе Минске.Основные направления и виды нашей деятельности:
1)краска для фасадов
2)масло для дерева
3)интерьерные краски
4)пропитка для дерева
5)краски для окон
Всегда рады помочь Вам! С уважением, BELYJMOST
http://www.assn-math.ru/index/8-2205
http://bbs.138yh.com/home.php?mod=space&uid=1215159
http://www.shoolginskoe2.ru/index/8-20199
http://nguyenthaisonps.edu.vn/forum/member.php?81171-Pavloshdw
http://eslihto.ru/user/Zelenaurl/

Zelenawwj 於 2020-08-29 12:23:07 所發表

Dans les années 1980, le canada goose promo a été personnalisé pour l'équipe de l'expédition scientifique en Antarctique et le parka canada goose a été personnalisé pour la Garde nationale de sécurité canadienne, les gardes forestiers et les responsables des relevés environnementaux, afin qu'ils puissent encore effectuer des taches dans l'hiver froid et dans la neige.

nike schuhe günstig 於 2020-09-03 17:28:03 所發表

Доброго времени суток господа!
Наша организация занимается свыше 10 лет продажей аква изделий для декора помещений в Одессе. Вот основные виды продукции, которые мы можем предложить вам:
1)Водно пузырьковая панель – Уникальный декор, который заменит аквариум, и сделает уютной атмосферу в Вашем помещении. Данный вид аква конструкций отлично подходит для любого типа помещений.
2)Искусственный водопад по стеклу- Служит отличным решением для зонирования помещений в виде перегородок, как для жилых, так и для общественных помещений. Кроме того, Вы сделаете правильный выбор, если поставите такое изделие в кафе, ресторане или спа салоне, это придаст динамичности в Ваш интерьер и отлично его дополнит.
3)Водяная стена – Аква декор, который поможет Вам расслабиться и немного порелаксировать после тяжелых будней, а световой эффект будет работать как светильник или торшер с функцией светотерапии, которая применяется для лечения различны психических расстройств.
4)Декоративный водопад по стеклу - Мы применяем водопады по стеклу в ниши, в виде перегородки, может быть напольного типа, возле стены, навесного настенного типа.

Vitaliylqml 於 2020-10-16 20:04:52 所發表

Добрый день друзья!
Наша организация занимается свыше 10 лет продажей аква изделий для декора помещений в Киеве. Вот основные виды продукции, которые мы можем предложить вам:
1)Водно пузырьковая панель – Уникальный декор, который заменит аквариум, и сделает уютной атмосферу в Вашем помещении. Данный вид аква конструкций отлично подходит для любого типа помещений.
2)Искусственный водопад по стеклу- Служит отличным решением для зонирования помещений в виде перегородок, как для жилых, так и для общественных помещений. Кроме того, Вы сделаете правильный выбор, если поставите такое изделие в кафе, ресторане или спа салоне, это придаст динамичности в Ваш интерьер и отлично его дополнит.
3)Водяная стена – Аква декор, который поможет Вам расслабиться и немного порелаксировать после тяжелых будней, а световой эффект будет работать как светильник или торшер с функцией светотерапии, которая применяется для лечения различны психических расстройств.
4)Декоративный водопад по стеклу - Мы применяем водопады по стеклу в ниши, в виде перегородки, может быть напольного типа, возле стены, навесного настенного типа.

Vitaliylxlb 於 2020-10-19 01:14:54 所發表

Добрый день товарищи! Предлагаем Вашему вниманию замечательный сайт для заказа бурения скважин на воду. Бурение скважин в Минске компанией АКВАБУРсервис – полный комплекс качественных и разумных по цене услуг. Заказывайте скважину для воды в АКВАБУРсервис – получите доступ к экологически чистой природной воде по самым выгодным в Минске ценам! Как происходит бурение? Бурится разведочный ствол и определяется напорный водоносный горизонт; Монтируются нПВХ трубы диаметром 125мм и более, полимерный фильтр не менее 2м и отстойник; Делается обсыпка фильтровой колонны специальным фильтрующим песком; Выполняется откачка скважины насосом до чистой воды и замер параметров. Мы постарались рассказать о технической стороне роторного бурения как можно более понятно и просто. Полезно представлять процесс создания вашей скважины. Платить следует только за то, что знаешь. Результативность роторного бурения дает возможность достичь глубинного водоносного слоя. У этого очевидный «плюс» — здесь подземные воды не сообщаются с водами поверхностными. Также сюда не проникают дождевые водостоки и нитраты с полей. То есть самая чистая вода — здесь. Вот почему так ценится роторное бурение.
https://drive.google.com/file/d/1Y0zYtrRCia9jfU-BH3WPIbhph6HvwDRl/view?usp=sharing
Увидимся!

Andreasbvf 於 2020-12-17 04:17:50 所發表

Здравствуйте дамы и господа.
Есть такой замечательный сайт для аренды контейнер склада в Москве. Основной деятельностью нашей компании является обеспечение клиента складскими помещениями.
Вам больше не нужно хранить вещи на балконах, в кладовках и гаражах. Мы предлагаем более простой и надежный вариант – хранение личных вещей и корпоративного имущества в изолированных боксах по системе, близкой к self-storage. Каждый склад-контейнер представляет собой отдельный модуль, расположенный на охраняемой территории. Складской контейнер – металлический высокопрочный бокс, устойчивый к неблагоприятным погодным условиям. Здесь удобно ставить мебель, складировать стройматериалы, товары, ящики с архивной документацией. Вещи всегда остаются сухими, не страдают от ветра и солнечных лучей. Мы позаботились о мерах безопасности и установили видеонаблюдение за каждым боксом.
https://ybongda.net/bd/viewtopic.php?pid=580726#p580726
http://xn---54-6cdxn7akip.xn--p1ai/forum/memberlist.php?mode=viewprofile&u=15386
https://www.csmania.ro/forum/topic/91-gallerie-mulan/#comment-1181
http://www.regaloservice.com/shop/Cocozen-Novuhair-Topical-Scalp-Lotion-For-Men-and-Women.html
https://52.78.224.240/viewtopic.php?f=4&t=33102

Karolinasgb 於 2021-01-07 12:48:28 所發表

Wow, incredible blog layout! How long have you been blogging for?
you made blogging look easy. The overall look of your website is great, let alone the content!

portable photography lighting 於 2021-01-31 16:02:00 所發表

Fantastisch Website , Preserve der nützlichen Arbeit
. Mit Dank ! |
Du hast wunderbar information auf dieser Website .
|
Die Sachen ist eher hilfreich . |
Einfach wollte sagen ich bin nur glücklich ich gestolpert auf Ihrer
Internetseite . |
Du hast einer der besseren Websites . |

youtube Views Kaufen 於 2021-02-11 01:25:41 所發表

Доброго времени суток дамы и господа! https://drive.google.com/file/d/14O9w55SwmlE2-tlnmfFQS62GmpBmQNET/view?usp=sharing
Ремонт сделан, но сколько сил нужно потратить на уборку после него! Люди просто теряются при виде гор строительного мусора и заляпанных окон и дверей.Уборка после ремонта требует опыта, убирать нужно аккуратно, чтобы не испортить дорогой ремонт и не повредить элементы дизайна нового интерьера. Стоит задуматься и о том, сколько денег придется потратить на уборку после ремонта своими силами: закупка необходимых чистящих и моющих средств, а также защита от пыли и вредного воздействия химических веществ (перчатки, респираторы, укрывные материалы, не говоря уже об одежде). Ведь многие страдают аллергией, а испорченную кожу рук после работы с агрессивными материалами быстро не восстановить. Особую сложность представляет собой уборка помещений после ремонта, если мебель из них не выносилась. Даже если все было тщательно укрыто, пыль проникла везде, в каждую щель. Для осуществления такой уборки требуется специальное оборудование, а ковры и мебель желательно не просто пропылесосить, но и помыть.

Duglasksq 於 2021-02-11 09:10:15 所發表

Приветствую Вас дамы и господа!
Предлагаем Вашему вниманию высококачественные профессиональные плёнки. Наша организация работает 15 лет на рынке этой продукции в Беларуси. Технология нашей работы позволяет превратить обыкновенное стекло в прочную конструкцию, которая в зависимости от назначения, сочетает в себе одну или несколько функций пленок. Наши специалисты быстро и качественно установят защитные и ударопрочные пленки в банках, магазинах и других административно-хозяйственных учреждениях. Установка таких пленок является необходимым условием при сдаче вышеперечисленных объектов под защиту Департамента охраны МВД.
https://mp4films.ru/index/8-341
http://the-cinema.tech/user/Antoniotdo/
http://iv-lisica.ru/index/8-21876
http://www.hostingchitchat.com/members/29042-Antonioegj
http://georgiantheatre.ge/user/Antoniojey/

Antonioupn 於 2021-02-13 23:51:29 所發表

Erstaunlich Website , Weiter der nützlichen Arbeit. Mit Dank .
|
Du hast großartig thing hier . |
Die Material ist unglaublich ansprechend . |
Grundsätzlich wollte betonen ich bin nur erleichtert
dass ich gestolpert auf Ihrer Website ! |
Du hast wahrscheinlich der größten Online-Websites .

|

Günstige youtube views kaufen 於 2021-02-14 00:05:51 所發表

Добрый день друзья!
Предлагаем Вашему вниманию высококачественные профессиональные плёнки. Наша организация работает 15 лет на рынке этой продукции в Беларуси. Дизайнерам, производителям стеклопакетов, мебели и дверей для применения своей продукции в офисах, квартирах и коттеджах мы предлагаем установку декоративной пленки. Проектные и строительные организации для осуществления смелых архитектурных решений могут использовать предложенную нами на выбор тонировочную пленку. Матовые пленки различной цветовой гаммы, установленные в межоконном пространстве, придадут зданию или сооружению неповторимый индивидуальный стиль. Пленки зеркальные оградят посетителей кафе и магазинов или сотрудников офисов на нижних этажах от ненужных глаз.
http://school2reut.ru/index/8-22221
http://sokolinaya-gora.info/forum/2-60933-4#84064
http://admin.infinix.club/forum.php?mod=viewthread&tid=4301655&extra=
http://www.sherbakul-crb.ru/index/8-13395
http://forum.12sky2.online/index.php?/topic/147496-%D0%BC%D0%B5%D1%82%D0%B0%D0%BB%D0%BB%D0%B8%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5-%D0%BF%D0%BB%D0%B5%D0%BD%D0%BA%D0%B8/#comment-510701

Antoniopwy 於 2021-02-16 06:11:27 所發表

Добрый день дамы и господа!
Предлагаем Вашему вниманию высококачественные профессиональные плёнки. Наша организация работает 15 лет на рынке этой продукции в Беларуси. С древних лет известно выражение, «наш дом – наша крепость», и в наши дни разработано множества вариантов защиты имущества. Защитная плёнка для окон внесёт свой вклад в обеспечение вашей безопасности. Самоклеющаяся пленка для стекла особенно востребована тем людям, чьи квартиры находятся на первых этажах, а также она подходит стеклянным витрин и перегородкам. Впервые такое изобретение появилось в США, в 60-х годах. С каждым годом противоударные покрытия становятся крепче, надёжнее и красивее. На них начали наносить рисунки, напылять различные компоненты – теперь они не только придают безосколочность окну, но и делают их красивыми и оригинальными.
http://www.zhuming.cc/home.php?mod=space&uid=201441
http://climbing.org/member.php?u=1390643
http://www.pushenbbs.com/home.php?mod=space&uid=139246
http://ztomsk.ru/index/8-62342
https://forum.l2mars.com/index.php?/topic/6115-%D0%BF%D0%BB%D0%B5%D0%BD%D0%BA%D0%B0-%D0%B4%D0%BB%D1%8F-%D0%BC%D0%B5%D0%B1%D0%B5%D0%BB%D0%B8-%D0%BA%D1%83%D0%BF%D0%B8%D1%82%D1%8C/#comment-9041

Antoniolqp 於 2021-02-16 19:39:08 所發表

Fantastisch Website , Pflegen der ausgezeichneten Arbeit .

Danke ! |
Du hast unglaublich knowlwdge genau hier . |
Die Daten ist sehr interessant . |
Wirklich musste sagen jetzt bin ich erleichtert ich gestolpert in Ihrer
Internetseite ! |
Du hast der größten Internetseiten . |

GüNstige Youtube Views Kaufen 於 2021-02-22 04:18:25 所發表

Доброго времени суток господа!
Предлагаем Вашему вниманию высококачественные профессиональные плёнки. Наша организация"ООО Защитные плёнки" работает 15 лет на рынке этой продукции в Беларуси. Дизайнерам, производителям стеклопакетов, мебели и дверей для применения своей продукции в офисах, квартирах и коттеджах мы предлагаем установку декоративной пленки. Проектные и строительные организации для осуществления смелых архитектурных решений могут использовать предложенную нами на выбор тонировочную пленку. Матовые пленки различной цветовой гаммы, установленные в межоконном пространстве, придадут зданию или сооружению неповторимый индивидуальный стиль. Пленки зеркальные оградят посетителей кафе и магазинов или сотрудников офисов на нижних этажах от ненужных глаз.
Более подробная информация размещена https://drive.google.com/file/d/1hceZWkDFW4mFU9sDZ64bQAi3ss41Fo5g/view?usp=sharing
С уважением,коллектив "ООО Защитные плёнки".

Antoniovox 於 2021-02-22 20:15:45 所發表

Ausgezeichnet Seite , Weiter der wunderbaren Arbeit .
Vielen Dank ! |
Du hast sehr gut information auf dieser Website . |
Ihre Tipps ist ziemlich bedeutend . |
Wirklich wollte sagen jetzt bin ich erfreut dass ich passiert bin
in Ihrer Seite ! |
Du hast beeindruckendsten Websites . |

günstige youtube Views kaufen 於 2021-02-23 02:51:46 所發表

Hi, every time i used to check webpage posts here in the early hours in the dawn, as i love to learn more and more.

https://www.livebanteng.net/situs-togel-online-terbaik-di-indonesia/ 於 2021-03-30 18:39:06 所發表

staxyn (vardenafil) https://vegavardenafil.com/ vardenafil generic

us prices on vardenafil 於 2021-04-05 05:32:35 所發表

https://master-climat.com.ua/kassetnye https://master-climat.com.ua/

Jasonquero 於 2021-04-06 21:57:15 所發表

Thanks for sharing your thoughts on website. Regards

Aretha 於 2021-04-07 13:35:30 所發表

купить стабилизатор напряжения для котла https://msk-stabilizator.ru/cat.php?cat=gasboiler

Gilberthaist 於 2021-04-17 07:09:19 所發表

https://avenue17.ru/kompressornoe-oborudovanie

DustinBrult 於 2021-04-17 20:55:45 所發表

I do not even know the way I finished up right here, however I believed this
publish used to be good. I do not recognize who you are however certainly you are going to a well-known blogger for those who aren't already.
Cheers!

nowa 於 2021-04-20 19:34:56 所發表

Howdy would you mind stating which blog platform you're using?
I'm going to start my own blog in the near future but I'm having a tough time selecting between BlogEngine/Wordpress/B2evolution and Drupal.
The reason I ask is because your layout seems different then most blogs and
I'm looking for something completely unique. P.S Apologies for being off-topic but I had to ask!

electric scooters for kids 於 2021-04-25 06:18:12 所發表

Have you ever considered creating an e-book or guest authoring on other blogs?
I have a blog based on the same ideas you discuss and would love to have you share some stories/information.
I know my subscribers would value your work.
If you're even remotely interested, feel free to send me
an e-mail.

portrait photographs 於 2021-05-04 22:29:12 所發表

Тень | 3 сезон | Королевская битва | Call of Duty WARZONE
https://www.youtube.com/watch?v=09X2OiMkMSI

BernardVowly 於 2021-05-05 01:41:26 所發表

investieren. Besteuerung von Bitcoin, Ether und Co.

bitcoin kaufen automat schweiz 於 2021-05-06 21:49:50 所發表
發表評論










請依上圖輸入檢核碼: