MAPJP/ENTIPS2016.04.28vol.42WEBコンフリクト、エラーに対応しよう!GitHub運用実践編B!こんにちは。Webエンジニアの毛利です。今回はGitHubについての話です。GitHubではソースやファイルを管理するとき、複数の更新者が同時に更新しても変更点のみが蓄積されていくのでファイルをサーバーから直接ダウンロードしたり、そのためファイルの受け渡しや、最新版かどうかを確認したり、間違えて古いファイルを編集してしまった場合のリカバリーなどの必要がなくなるため、ファイル管理の手間が大きく減少します。一方で問題も起こります。発生する問題が「コンフリクト」です。今回この「コンフリクト」がどの場合にどういう風に起こるのか、デスクトップアプリを運用してわかったことをまとめていきます。Desktop」アプリケーションで運用する際、解決する際に、役立ちそうな方法をご紹介します。コンフリクトとは?「変更の競合」を指します。編集者が記述の順番を大きく変えたりなど変更があったとき、変更をマージできなくなる現象です。Desktop」の場合、変更点をリモートリポジトリにCommitをpushするときに起こります。具体的な操作方法は変更点を「Commit」し、「Sync」するときに発生します。コンフリクトが発生すると、黄色で示されます。すれば解決できるのか?この状態になったら、一度Commitを「undo」し操作を取り消し、もう一度「Sync」を押します。すると、コンフリクトを起こしたファイルに以下のようなメッセージが入ります。========の上に表示されているのが「リモートリポジトリ」の変更点で、========の下に表示されているのが「ローカルリポジトリ」自分が行おうとしている変更点です。Desktop」のアプリケーションでは基本的に==の下が自分が行った変更点として表示されます。これらは内容を確認し、手動で修正する必要があります。リモートリポジトリに反映した作業者に確認が必要な場合は確認をしてから変更を行うようにしましょう。競合箇所を修正し、再度「Commit」、「Sync」することでコンフリクトを解消できます。※コンフリクトが起こったファイルを修正せずに、そのままCommitしリモートリポジトリにpushしてしまうとエラーの文言が入った状態で「正しいデータ」として反映されてしまいます。コンフリクトが起こった場合は必ずソースを確認し、手動で修正する必要があります。Githubから出されるメッセージはよく確認しましょう。コンフリクトを起こす「GitHub」運用4選ローカルリポジトリから最新ファイルを取得しないで編集する長い期間編集していなかったり、他の編集者が変更を加えていた場合、変更をリモートリポジトリから取得せずに編集を続け「Commit」してしまうと高確率で起こります。作業開始前には必ず「Sync」し、ローカルデータを最新化しましょう。同時に同じファイルの同じ箇所を編集する同じソースの同じ箇所を編集していると起こります。共同作業者と連絡が取れる場合、自分がどこを編集するか伝えましょう。編集箇所が競合する場合、作業のタイミングをずらしましょう。ファイルサーバーから取得してファイルを更新するリポジトリからデータを取得するのではなく、Webを公開しているサーバーなどからデータを取得して反映した場合に起こることがあります。このような事を行うことはないと思いますが、サーバーOSによっては改行コードが変わってしまったり、見えないところでファイルの情報が変わってしまい、Githubのリポジトリデータとは全く同じデータではないかもしれません。改行コードが変わってしまったとき改行コードが変わると全行変更扱いになります。CRは基本的に認識されません。(改行が反映されているはずなのにGithub上では全て1行に見える場合はこの状態になっている場合が多いです。OSX、Linuxなど)が標準的です。コンフリクト以外のエラーコンフリクト以外にデスクトップアプリケーションのエラーがあります。運用していて比較的起こりやすいエラーについて以下にまとめてみました。文字エンコーディング最近ではutf-8がほぼ定着しましたが、Shift_JISで運用しているサイトもあると思います。Desktop」では、Shift_JISだと文字化けを起こしたり、意図した動作にならない場合があります。大きいサイズのファイル、または大量のファイルをリモートリポジトリに反映するとき、時間がかかったり、通信エラー、タイムアウトエラーが起きやすくなります。通信環境に依存する部分でもありますが、GBを超えるデータを反映したり、数千のファイルを一気に反映するのはできる限り避けましょう。ファイル数が多い場合、多少手間となりますが何回かに分けてCommitするとエラーを回避できます。アプリケーションがエラーを起こしたり操作不能になる場合があります。し、アプリケーションを再起動します。アプリケーションを再起動しても復帰しないアプリケーションを使用しているパソコンの再起動をしてみましょう。処理途中のものがキャンセルされることで復帰できる場合があります。パソコンの再起動をしても復帰しないこの場合はローカルリポジトリのデータを一度削除し、再びクローンする必要があります。削除完了後、アプリケーションを起動し、再びリポジトリをクローンします。まとめいかがでしたでしょうか?今回はGitHubの運用に関して実務的な面からアプローチしていきました。これらの便利な仕組みも必ずエラーや予期しないことが起こります。エラーが起きた際、どう対処するか、落ち着いて的確に行わなくてはなりません。いざ起こったときに慌てないように、こういったパターンを想定しておけば落ち着いて適切な対処ができるはずです。円滑に、より快適に開発運用するためにはノウハウを蓄積していくことが大変重要です。POSTS新着TIPSvol.1012019年ロゴマークをリニューアルしたブランド5選2019年にロゴをリニューアルした企業6選vol.100BOELのスタッフが大切にしていることBOELのスタッフがオフィスでの過ごし方を通じてたいせつにしていることをご紹介します。7選WEB業界でよく使う単語の中でよくあるスペルミスと間違えやすい点をいくつかリストアップします。vol.98ブランディングで動画を活用するメリットと成功のポイント!ブランディング動画を活用するメリットや成功のポイントを事例と合わせて紹介します。幾何学フォントTOP32019年の幾何学書体トップ3をご紹介いたします。一時的な流行ではなく多くのサイトで一般的に見られるようになったWebデザインvol.43動画コーデックをマスターしよう映像データのエンコード、動画メディア配信の基礎からターゲットに合った圧縮方法vol.45すぐに使える!アコーディオンメニューの実装アコーディオンメニューをよりリッチに。日本古来より伝わる色。デザイン、アートディレクションなどクリエイティブワークを得意とするブランディングオフィスです。ブランディング・Webサイト・印刷物、システム開発等を通じ、ビジネス価値向上をお手伝いします。お問い合わせをするオンライン見積もりフォームさまざまなブランディング事案に対応します。お気軽にご依頼ください。PERMISSION.。