00.ジオメトリ管理システムとGit


これはKnowre Web Development Curriculumからインスピレーションを得た文章で、私自身の方法で先端に対する勉強をまとめました.順序はwebdevcurriulumとは無関係です.

目的

  • がより多くの人と一緒に開発されるにつれて、ジオメトリ管理システムは不可欠であるため、ジオメトリ管理システムを理解する.
  • は、現在最も人気のあるバージョン管理システムです.使用するGitについて説明します.
  • ジオメトリ管理システム


    イメージ管理システムはソフトウェアの変更に対してシステムの追跡と制御を行い、イメージ管理は一般的な簡単なバージョン管理に基づくソフトウェア運用をより全面的な学術分野に拡張する基礎である.(出典:ウィキペディア)
    --ちなみに、ここではイメージ管理システムについて、ソフトウェアの観点からのみ説明します.

    なぜジオメトリ管理システムが現れるのですか?


    プロジェクトを行うにはいろいろな問題と不便があります.
  • が変更されるたびに、原因がわかります.
  • ファイルを処理している場合は、
  • が必要です.
  • とは違う人と一緒に仕事をすると、気をつけなければならないことが多いです.
  • 最終.htmlは本当に最終的ですこれは本当に最后のhtml...
  • 変更にはリカバリと処理が必要など
  • この問題を予防または解決するために、イメージ管理システム、すなわちバージョン管理システムが現れた.
    バージョン管理システムは大体3種類あります.理解してみましょう.
    LVCS - Local Version Control System
    CVCS - Centralized Version Control System
    DVCS - Distributed Version Control System

    LVCSローカルバージョン管理システム


    1つのディレクトリで作業中に発生する問題により開発された.
    削除
  • 作業ディレクトリ
  • エラー変更
  • ファイル

  • 上記を含むさまざまな問題が発生した場合、ローカル・データベースにバージョンが格納されるため、戻ることができます.
    限界:ローカルデータベースなので、他のスタッフと一緒に作業するのは難しいです.

    CVCS集中バージョン管理システム


    他の開発者と一緒に作業する必要があるために発生した問題で開発された.また、ファイルを管理するサーバもあり、クライアントは中央サーバからファイルを受信して使用します.

    管理者は、すべてのクライアントのローカルDBではなく、1つのCVCSAを管理するだけで、より効率的です.
    限界:中央サーバに問題が発生した場合、答えはありません.
  • がダウンタイムした場合、
  • は他のユーザと連携できません.
  • の中央データベースのデータが失われると、プロジェクトのすべての履歴も失われます.
  • そこで次のDVCSが出てきました.

    DVCS分散バージョン管理システム


    以上のすべての欠点と問題はDVCSを改善するためである.代表的なのはgitです.

    プライマリサーバのみならず、クライアントのコンピュータにもバージョンが保存されているため、プライマリサーバに問題が発生してもクライアントからサーバをリカバリできます.また、プライマリ・サーバが閉じていても、独自のデータベースにバージョンがあるため、操作に使用できます.後で比較するので、変更を統合すればいいです.

    Git


    これは、コンピュータファイルの変更を追跡し、複数のユーザー間でこれらのファイルの作業を調整する分散バージョン管理システムです.(出典:ウィキペディア)
    これもレヌストワーズがCVCSの一つであるSubversionを使って怒って2週間以内に作った結果です・・・
    以上の説明だけでは足りませんが、さらに説明すると、元のようにメインサーバと多くのオペレータがいますが、簡単に言えばメインサーバとA、Bオペレータがいます.操作者A,Bは、動作のためにメインサーバ1から動作する.verのファイルを取得し,それぞれのローカルDBに保存し,それぞれのコンピュータ上で動作する.各ローカルに1-a.ver、1-b.verのバージョンがあり、変更履歴とともに作業をプライマリ・サーバに送信する場合は、すぐにマージする必要はありません.管理者がレビュー後に行った作業を2にマージします.verに更新します.では、プライマリサーバには1があります.ver, 2.verとスタッフが変更した記録は保持され、スタッフは2を保持します.サーバからverを受信し、自分のローカルで再稼働する方法.だからすべての仕事は2ですverをダウンロードする必要はありません.変更が自分の操作に関係ない場合は、操作後にマージすればよいからです.例えば、操作者Aが再度作業1−aaを行うverの場合は、プライマリ・サーバに送信して、管理者がチェックした後にマージすることもできます.これがGitの大きな利点であり、プライマリ・サーバにリアルタイムで接続する必要がなく、ローカルで作業を続けることができます.また、プライマリ・サーバが移動しても、従業員のローカル・データベースには1-a.ver 1-b.verが保持され、リカバリできます.詳細については、こっち、こっちを参照してください.

    Branch


    gitを使用し、よりよく理解するには、ブランチを理解する必要があります.
    branch : 1. 木の枝ブランチ機構、ブランチ機構(出典:NAVER辞書)
    前述したように、バージョン管理は枝の形で行われる.枝のように不要な枝は、切り取ったり、枝の開始部分としての分岐点形態を形成したりすることができる.下の写真を見てください.

    通常、上記の図のように、バージョンを4段階に分けて管理します.下部にあるブランチほど変更が多くなり、前のフェーズに変更をまとめるとレビュー後にまとめられ、最終的にmainに渡されます.この過程で、枝を切り返すように枝を折り返すこともあります.->急いでhotfixに変えれば、Releaseを使わずに直接Mainに回る場合もあります.

    GitHub


    バドミントンセンターは、分散バージョン管理ツールのバドミントンストレージ管理をサポートするWebサービスです.(出典:ウィキペディア)
    gitとgithubは違います.混同できない!
  • git: DVCS
  • github:gitリポジトリ管理Webサービス
  • GitHubでGitリポジトリを作成する


  • GitHubを加えます.GitHubに移動し、「Sign Up」をクリックします。

  • レポートを生成します.生成時に名前を自由に取ることができます.検査をしていない他の人は今重要ではありませんが、見てみましょう.
  • Description:作成するレポートの簡単な説明
  • Add a READMEファイル:プロジェクトに使用可能な長い記述ファイル
  • Add. gitignore:
  • 無視するファイル(パスワードなど)を設定
  • Choose a license:1つのライセンスを選択し、別のライセンスを書き込みまたは自分で作成したコードに書き込んで、これらのライセンスに従うことを通知します.
  • チャザンGitリポジトリが作成されました.ここでは、上記DVCSのサーバコンピュータのDBとして機能するようになった.すなわちgitを使用してファイルをリポジトリにアップロードし、バージョン管理を行うことができる.
  • Git実習


    端末またはcmdではgitコマンドでgitを使用できます.
    複数のgitコマンドを使用してgitリポジトリを作成し、GitHubで作成したリモートgitリポジトリにファイルを追加してみます.
    touch git_practice		//git_practice생성
    cd git_practice			//git_practice로이동
    git init				//로컬git저장소 생성
    touch test.md			//test.md파일 생성
    git status				//현재상태 확인, 빨간파일이 보일것
    git add test.md			//test.md를 인덱스에 추가
    git status				//현재상태 확인, 빨간파일이 초록색으로 변함
    git commit				//인덱스에있는 변경사항들을 기록
    git remote add origin url(본인 깃허브 저장소 링크)	// 깃허브 원격 저장소랑 연결
    git push origin master(혹은 main)	//원격저장소로 commit한 내용을 전달
    上記の実習が終わったら、自分のバニラサイトを更新するとファイルがアップロードされます.
    上の実習の命令のほかに、多くの命令があります.もっと使ってから熟知しましょう.

    gitコマンド

    git init 			
    このディレクトリにgitリポジトリを作成します.
    git clone url
    urlからgitリポジトリを取得してコピーします.
    ex) git clone https://github.com/joseph-wee/git_practice.git
    git add filename
    ファイルをインデックスに追加します.
    ex) git add test.html
    git status
    現在のステータスを確認します.追跡されたファイルがないことを確認します.
    git commit
    現在の変更をリポジトリに書き込みます.
    git push
    現在のステータスをリモート・リポジトリに更新します.
    ex) git push origin main
    git pull
    リモート・リポジトリで変更を行ったときにコンテンツを取得します.
    ex) git pull origin main
    git branch
    すべてのブランチのタイプと現在の独自のブランチが表示されます.
    ソース
    https://github.com/Knowre-Dev/WebDevCurriculum
    https://git-scm.com/book/ko/v2