Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料
-
Upload
mihararyosuke -
Category
Software
-
view
2.931 -
download
1
description
Transcript of Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料
表紙
パワーランチ:Git 運用ダメ出し会2014.5.27
株式会社ネクストスケープ三原亮介
Git 運用ダメ出し会
アジェンダ
Last Updated: Monday, April 10, 2023
www.nextscape.net 2
Git について軽く説明
(Subversion との違いなど )
Sitecore ウェブサイトでの運用事
例
Windows 上で Git を使う際の注
意点
Git 運用ダメ出し会
Subversion との違い
Last Updated: Monday, April 10, 2023
www.nextscape.net 3
Subversion と Git で使う用語の意味は変わっていない。全体のコンセプトが違う。
作業コピー
Subversion Git
リポジトリ
コミットチェックアウト
作業ツリー
リポジトリ
コミットチェックアウト
リモートリポジトリ
クローン ( 複製 )
Git 運用ダメ出し会
Sitecore データのバージョン管理
Last Updated: Monday, April 10, 2023
www.nextscape.net 4
Sitecore のウェブサイト運用でバージョン管理するデータとは?
.aspx .ascx
.cs
.item
シリアライズ.item
.item
詳しくは、 Sitecore MVP 赤澤さんのブログ記事で!ネスケラボ 『 Sitecore データのバージョン管理事始め』http://blog.nextscape.net/index.php/archives/2476
画像
CSS
テキスト
Git 運用ダメ出し会
使用ツール
Last Updated: Monday, April 10, 2023
www.nextscape.net 5
Git for Windows• Git BASH が便利。無いと困る。• TortoiseGit 、 SourceTree のコア
TortoiseGit• TortoiseSVN と同様のエクスプローラー組み込み型• Diff を見たりするのに便利
SourceTree• Git-flow をサポート
Backlog• リモートリポジトリのホスティング• ネットワーク図が見やすい
Git 運用ダメ出し会
既存 SVN リポジトリの移行
Ruby 製ツール svn2git(https://github.com/nirvdrum/svn2git) を使用。
trunk/branches/tags の構成を Git 流に変換できる。
インストール
実行tags の中身が大きく、全部移行しようとしたら長時間がかかる上に止まったりしたので、 trunk のみ移行することにした。
(SVN リポジトリを破棄するわけでもないので、 tags や branches 移行しないでも問題なかった ) 。
Last Updated: Monday, April 10, 2023
www.nextscape.net 6
ツールを使って SVN リポジトリを Git リポジトリに変換した。
$ gem install svn2git
$ svn2git https://subversion/repository --username mihara -v --trunk trunk --nobranches --notags
Git 運用ダメ出し会
Sitecore ウェブサイトでの Git 運用事例
Last Updated: Monday, April 10, 2023
www.nextscape.net 7
得意先と Nextscape で 2 つのリポジトリを使用。
Sitecore本番環境
Sitecoreステージ環境
Git
Git
Nextscape BacklogGit リポジトリ
A 社 BacklogGit リポジトリ
A 社
Nextscape
NS では社内リポジトリで作業を行い、改修リリース時に得意先リポジトリへ反映 ( 手で ) 。
Git 運用ダメ出し会 Last Updated: Monday, April 10, 2023
www.nextscape.net 8
ブランチ運用
得意先は master 一本。 Nextscape では Git-flow ワークフローを採用。
キャンペーンサイトなど大規模改修
Master
A 社リポジト
リ
保守作業
本番環境
ステージ環境
Nextscape
リポジトリ
A 社Web 担当者
様レイアウト等
修正
NSJIN リポジトリ
変更の取得
NS保守改修リリー
スNS
大規模改修リリース
Git 運用ダメ出し会
Git-flow 概要
Vincent Driessen 氏が提唱するブランチ運用のやりかた。
Git-flow のやりかたをやりやすくするツールがある (git-flow, SourceTree…)
本件では SourceTree を採用。
Last Updated: Monday, April 10, 2023
www.nextscape.net 9
社内では Git-flow ワークフローによって運用。
Git 運用ダメ出し会
Git flow① 保守 =develop
master ブランチはすぐにリリースして OK な状態に保つ。
日々の保守作業は develop ブランチ上で行い、リリース OK 状態になったら master ブランチにマー
ジ。
Last Updated: Monday, April 10, 2023
www.nextscape.net 10
Git 運用ダメ出し会
Git flow② 追加開発 =feature ブランチ
大きめの開発するときは、 develop ブランチから feature ブランチを切る。
開発が終わったら、 develop ブランチにマージする。
Last Updated: Monday, April 10, 2023
www.nextscape.net 11
Git 運用ダメ出し会
Git flow③ バグ対応など =hotfix
Last Updated: Monday, April 10, 2023
www.nextscape.net 12
緊急なバグ対応とか。
得意先での変更内容も。
Git 運用ダメ出し会
得意先リポジトリとの連携
得意先でソースを編集されることがある。 .aspx や .ascx ファイルはビルドしないでもすぐ変更が反映される。
文言の修正とか、 JavaScript の追加とか。
変更したら、リポジトリへコミット / プッシュしてもらうようにお願いした。
ファイルのやり取りは手でやる。
Last Updated: Monday, April 10, 2023
www.nextscape.net 13
Master
A 社リポジトリ
本番環境
ステージ環境
Nextscapeリポジトリ
A 社Web 担当者様レイアウト等
修正
①
②
③
NSA 社リポジトリ変更の取得
NS保守改修の反映
Git 運用ダメ出し会
Windows 上の Git( トラブル )
改行コードの変換
長いパスの問題
Last Updated: Monday, April 10, 2023
www.nextscape.net 14
Git 運用ダメ出し会
Windows 上の Git( トラブル )
問題 CRLF->LF に変換する機能がある。
Sitecore のシリアライズしたデータの管理で困った。
対策 改行コード変換しないようにした。
Last Updated: Monday, April 10, 2023
www.nextscape.net 15
改行コードの問題
----item----version: 1id: {3D403A61-253D-41A0-9A12-A5A43899F20F}database: masterpath: /sitecore/content/Home-2013/salon_info2/kanto/tochigi/567parent: {21B7712E-E70E-43D3-B83D-5F2528F50907}name: 567master: {00000000-0000-0000-0000-000000000000}template: {D8C795E4-B73B-4A5F-A424-94DD5D70267B}templatekey: Salon
----field----field: {A4F985D9-98B3-4B52-AAAF-4344F6E747C6}name: __Workflowkey: __workflowcontent-length: 38
{F16F7611-7B6C-47D3-B285-4626BFEAF7A6}----version----language: ja-JPversion: 1revision: 46f254ba-7088-49b2-8011-64c108d81c1b
----field----field: {F501BC74-9AF1-4044-B2BD-5A848124CB7B}name: Metadata_Titlekey: metadata_titlecontent-length: 33
サイトコア ( マーケティング CMS) | Sitecore 開発パートナー - 株式会社ネクストスケープ----field----field: {16534B48-FE26-4FC2-81CD-57C36DA3F0C0}name: Metadata_Descriptionkey: metadata_descriptioncontent-length: 129
Sitecore はその使いやすさ・機能性が認められ世界 50 か国、 32,000 サイト以上で愛されるWeb コンテンツ管理システムです。 Sitecore は留まることなく世界中のユーザーの声、最新のトレンドを吸収し今も成長を続けています。…
シリアライズ化データの一例
Git 運用ダメ出し会
Windows 上の Git( トラブル )
Last Updated: Monday, April 10, 2023
www.nextscape.net 16
改行コードの問題の対処方法
リポジトリごとの設定
*.item -text
リポジトリのルートに .gitattributes ファイルを作り、下記を記載:
.item ファイルについては改行の変換を行わない
Git 運用ダメ出し会
Windows 上の Git( トラブル )
Last Updated: Monday, April 10, 2023
www.nextscape.net 17
改行コードの問題の対処方法
環境ごとの設定
$ git config --global core.autocrlf false
全ファイル改行の変換を行わない
Git 運用ダメ出し会
Windows 上の Git( トラブル )
問題 Windows が扱えるファイルパスは 260 文字までに制限されている。
Git リポジトリからファイルを取得時に、ファイルパスが長すぎてコケる事案が発生。
対策 Git for Windows 1.9.0 からは 260 文字の制限を超えたファイルパスを扱えるようになっている。
NTFS では 32,767 文字までのファイルパスを扱える。
エクスプローラーなどアプリケーションの実装上制限がかかっている。→制限をはずすことはできる。
ただし、明示的に設定しておかないと制限解除ができない。
Last Updated: Monday, April 10, 2023
www.nextscape.net 18
長いパスの問題
くわしくは・・・Win32: support long pathshttps://github.com/msysgit/git/commit/c5f98452e98dca292c615000df7973ead63cf29b(Git for Windows のコミットコメント )
Git 運用ダメ出し会
Windows 上の Git( トラブル )
環境ごとの設定
Last Updated: Monday, April 10, 2023
www.nextscape.net 19
長いパスの問題の対処方法
$ cd /path/to/repository/$ git config --add core.longpaths true
$ git config --global core.longpaths true
リポジトリごとの設定
Git 運用ダメ出し会
まとめ
Git のコンセプトを理解する
運用ルール (Git-flow など ) を決めておく
Windows で使う場合はちゃんと設定する
Last Updated: Monday, April 10, 2023
www.nextscape.net 20
Git は怖くない