最後の数年間でWeb開発ではリモートで働くことができます。バージョン管理の前に、同じ開発プロジェクトでリモートで作業していますが、絶対的な悪夢でした。開発者はしなければならなかっただろう 大きなファイルを送る 互いに(おそらく電子メールを通して)、それを送る前に自分のコードを貼り付けます。追加されたものを追跡する本当の方法はありませんでした。
ありがたいことに、バージョン管理が到着して、すべての表面にはたくさんの管理可能な開発を行いました。特にリモート開発チームで働くことになると、Webプロジェクトは実装と管理がはるかに簡単になりました。上書きされているWebサイトの現在のバージョンについて心配する必要はもうありません。各チームメンバーはいつでもどのファイルでも自由に機能します。 クラウドストレージ プロセスを手伝ってください。
このチュートリアルでは、私たちは使えます g g コードを管理する。 BitbucketやTFVCなど、さまざまな種類のバージョン管理ツールがありますが、すべて異なるにもかかわらず、コードの管理に関して原則は同じままです。
サイトのビルドプロセスを簡単にするためのより多くの方法については、上のガイドを参照してください。 ウェブサイトビルダー そして ウェブホスティング サービス。
第一に、開発と展開プロセスをスムーズに実行するために、チームで働くときに分岐モデルを成功させることは非常に重要です。複数の開発者が同じプロジェクトに取り組んでいる可能性が最も高いです。リモートの労働力を扱うとき、私は最良のワークフローが3つの主要な枝でも一定の一一組の一連の主要な支店で構成されていると思います。
フィーチャブランチのセットもあります。ただし、これらは最初に新機能を構築するための一時的なものであるでしょう。
リモートで働く2人の開発者でチームを実行しましょう。私たちは彼らにSarahとJamesと呼びます:彼らは両方ともクライアントのために同じeCommerceのウェブサイトに取り組んでいます。サラは、顧客の詳細を登録する機能を開発する必要があります。
これを3つの別々のユーザーストーリーに分解します - 追加、編集、削除 - これら3つのチケットをSprint Backlogに追加します。
だから、サラは顧客の詳細セクションの追加セクションで始まりましょう。彼女は、最初のタスク 'add-details'のための特徴ブランチ '顧客詳細'とユーザーストーリーを作成する必要があるでしょう。
gitチェックアウト開発&& GITプル起源/開発
git checkout -b機能/顧客の詳細
git checkout -b追加の詳細
サラは、ローカルで一時的な支店の「アドレス」で取り組んでいき、彼女が発展させるにつれて彼女の仕事をコミットします。さて、Jamesはサラを顧客の詳細機能で助けたいと言ってみましょう。そのため、詳細の削除に取り組んできました。
Jamesは共有ブランチの最後のバージョンを引き、ユーザーストーリーの「Delete-Details」の新しいブランチを作成します。それから彼はサラのコードを上書きすることを心配せずに彼自身の追加を始めることができます。
gitチェックアウト機能/顧客詳細
GITプル起源/機能/顧客の詳細
git checkout -b削除詳細
彼はまた彼の一時的な支店をローカルでコード化し、変更をコミットするでしょう。 Sarahがローカルで彼女の機能を終えたら、彼女はあなたのチケットをコードレビューに入れます。彼女はステージングブランチにコードを押して、ステージング環境でプル要求を開くでしょう。
//彼女は彼女のコードをステージングブランチに押し上げます
Git Push Origin Add-Details.
//ステージング環境でプル要求を開く
git request-pull stagingの詳細
これで、顧客詳細機能ブランチと開発の開発「詳細」と「Delete-Details」の2つのユーザーストーリー機能があります。
彼女のコードが検討されたら、彼女の支店をステージングにマージすることができます。チケットは検証欄にあり、リード開発者からの検証を待っています。
//ステージングブランチの最後のバージョンを取得
git checkoutステージング&アンプ;& GITプル起源/ステージング
git merge add-detail&& GITプッシュ原点:
//彼女は検証環境を構築します
//そして製品の所有者に検証するように頼む
Sarahの作業が検証されたら、チケットをDone列に移動できます。彼女は自分の仕事を機能ブランチにマージすることができ、顧客の詳細を削除するように他のユーザーストーリーを起動することができます。
// Feature Branchの最後のバージョンを引っ張る
Gitチェックアウト機能/顧客の詳細
GITプル起源機能/顧客の詳細
Git Mergeアドレス&アンプ;& GITプッシュ起源機能/顧客詳細
リード開発者とクライアントの両方によって機能全体が検証されている場合、Sarahはその機能ブランチを開発する準備が整うことができます。
//彼女は開発ブランチの最後のバージョンを取得します
Git Checkoutの開発& GITプル起源/開発
Git Merge機能/顧客詳細&& GITプッシュ原産地開発
すべてが完了したら、プロダクションに展開する準備ができていると、Jamesマージはリリースに開発し、展開を開始します。この時点で、彼はすべてのコードが正しいことであり、クライアントは幸せであることを知っています。彼は各バージョンの履歴を得るためにリリースのコミットをタグ付けします。
gitチェックアウト開発&& GITプル起源/開発
gitチェックアウトリリース&アンプ;& GITプル起源/リリース
Git Merge Develience&& git tag 2.1
GITプッシュ原点リリース - タグ
このリモート開発のワークフローは最初は理解するのが非常に難しい場合がありますが、チームがこのメソッドで働くようになると、上書きされているファイルや開発者が同じエリアに取り組んでいることをパニックにする必要なしに無料の作業フローがあります。
覚えておくべきいくつかの重要なことがあります:
Git Co開発& GITプル起源/開発
Git Branch -D Staging&& Git Push Origin - Delete Staging
GIT CO -Bステージング&アンプ;& GITプル起源ステージング
小さなプロジェクトでは、より少ない複雑なワークフローを使用することをお勧めします。最新のバージョン、開発ブランチ、次に追加の機能ごとのブランチのセットを含むマスターは、フォーラム、連絡フォーム、チェックアウトシステムであろうとしています。それはすべてあなたの個人的な好みによって異なります。
あなたがすべて同じ部屋で働いていても、マージの競合に対処するのは十分難しいですが、あなたがすべての営業所で働いているのであれば、悪夢のさらに悪夢になることができます。最も重要なことは、常にマージを元に戻すことができ、競合が発生する前に状態に戻ることができることを覚えておくことです。
あなたがリード開発者またはあなたのチームとしてのマージをすべてやっているかどうかは、彼らを独立して行うものであるかどうか、最初のステップは何が起こったのかを理解することです。
gitはあなたが持っていることをあなたに言うでしょう 不従った道 via git status. :
$ GITの状況
#支店のチェックアウトシステムに#
#あなたは過敏なパスを持っています。
#(競合を修正し、「Git Commitを実行する」)
#
#不満のあるパス:
#(「git add< file>」を使用して解像度をマークするために使用)
#
#どちらも修正:checkout.html.
#
コミットに変更された変更はありません( "git add"や "git commit -a")
さて、競合の最も一般的な原因は、変更が同じ行にある同じファイルに影響を与える場合です。それで、衝突した行の内容を見てみましょう。あなたはそれがそれを囲むことによってそれが衝突した地域をマークするという事実にgitが本当に良いことに気づくでしょう <<<<<< そして >>>>>> [その他/支店/名] 。この場合、それはそれです チェックアウトシステム 。
<<<<<<頭
この行は、「ユーザーフォーム」ブランチで作業しながらコミットされました。
====== *
これとは対照的に、この行は「チェックアウトシステム」分岐で作業しながらコミットされました。
>>>>>> REFS /ヘッド/チェックアウトシステム
最初のマーカーの後の内容は現在の作業ブランチから発生します。山括弧の後、GITはどの分岐から変化が起こったかを教えてくれます。並ぶ ====== * 2つの矛盾する変更を分離します。
これで、エディタでファイルを開くことができ、競合マーカーを検索して必要な変更を加えることができます。完了したら、ファイルはそれを見たいと思うように正確に見える必要があります。 私たちのもの または 彼らのもの 。
git checkout - ours path / to / conflict-file.html
これに役立つことができる多くのマージツールアプリケーションもあります。万華鏡はMac用の素晴らしいものです。
鉛開発者と同じくらい重要なのと同じくらい重要です。 ZenhubやAsunaなど、そこにはたくさんのソリューションがありますが、Githubの組み込みプロジェクトと発行システムが最高です。
新しいプロジェクトを設定し、ボードの作成、または問題の割り当てのようなものを実行できます。そして問題に関する問題を混乱させるだけではありません:あなたはそれを強化、質問およびバグのためにそれを使うことができます。
これが最良の機能のいくつかです。
githubに移動してからリポジトリの1つに向かうと、プロジェクトと呼ばれるタブが表示されます。そこから新しいプロジェクトを選択し、プロジェクトの詳細を設定して新しいプロジェクトテンプレートを作成することができます。
上部に沿って[問題]タブを選択して[新規課題]を選択した場合は、新しい問題を作成することができます。その後、さまざまなラベルを適用できます - これらはバグ、強化、質問、重複などのものです。新機能または要求の機能強化を使用することもできます。その後、さまざまなチームメンバーをタスク、マイルストーン、作成したばかりのプロジェクトに割り当てることができます。
割り当てられたメンバーはすべてのタスクのリストを持ち、現在構築中のものを追跡するためにプロジェクトボードを使用することもできます。以前のチュートリアルを覚えている場合は、チケットをSprint Backlogと検証に移動していました。そのため、Githubはプロジェクトを監督するためのオールインワンツールとして、本当にうまく機能します。
この記事はもともと発行311に発行されました ネット Webデザイナーや開発者向けの世界で最も売れている雑誌。 ここに発行311を購入してください または ここで購読する 。
関連記事: