Git を始めるための 30 分 (概要)

WBOY
リリース: 2022-03-01 19:55:58
転載
2890 人が閲覧しました

この記事では、環境構成、基礎理論、プロジェクト構築、ファイル操作、その他の関連問題など、git を始めるにあたっての関連知識を紹介します。

Git を始めるための 30 分 (概要)

推奨学習: 「Git 入門チュートリアル

バージョン管理

バージョン管理とは (バージョンの反復、新しいバージョン! バージョン マネージャー)

バージョン管理 (リビジョン管理) は、開発プロセス中にファイル、ディレクトリ、またはプロジェクトを管理するために使用される方法です。変更履歴の表示が簡単で、以前のバージョンを復元するためのバックアップ ソフトウェア エンジニアリング テクノロジ。

  • 地域を越えた複数人による共同開発を実現します
  • 1 つ以上のファイルの履歴を追跡および記録します
  • ソース コードとドキュメントを整理して保護します
  • 統計的なワークロード
  • 並行開発、開発効率の向上
  • ソフトウェア開発プロセス全体を追跡および記録
  • 開発者の負担を軽減し、時間を節約し、思考力を軽減しますエラー

簡単に言うと、複数人による共同開発プロジェクトを管理するために使用されるテクノロジーです。

この州ではバージョン管理や正しいプロセス管理がなければ、ソフトウェア コードの一貫性、ソフトウェア コンテンツの冗長性、ソフトウェア プロセスのトランザクション的な性質など、ソフトウェア開発プロセスに多くの問題が発生することになります。ソフトウェア開発プロセスにおける同時実行性、ソフトウェア ソース コードのセキュリティ、ソフトウェア統合などの問題。

一般的なバージョン管理ツール

主流のバージョン コントローラーは次のとおりです。

  • Git
  • SVN ( Subversion)
  • CVS (コンカレント ビジュアル システム)
  • VSS (Micorosoft Visual SourceSafe)
  • TFS (Team Foundation Server)
  • Visual Studio Online

バージョン管理製品 (Perforce、Rational ClearCase、RCS (GNU Revision Control System)、Serena Dimention、SVK、BitKeeper、Monotone、Bazaar、Mercurial、SourceGear Vault)、現在最も影響力があり広く使用されているのは Git と SVN です。 。

1. ローカル バージョン管理

ファイルのすべての更新を記録します。各バージョンのスナップショットを作成したり、個人使用に適したパッチ ファイルを記録したりできます。 RCSとして。

2. 集中バージョン管理 SVN

すべてのバージョン データはサーバーに保存され、共同開発者はサーバーから同期して独自の変更を更新またはアップロードできます。

すべてのバージョン データはサーバーに保存されます。ユーザーのローカルには、以前に同期したバージョンのみがあります。インターネットに接続していない場合、ユーザーは履歴バージョンを表示することも、バージョンを切り替えることもできません検証の問題、または別のブランチでの作業。また、すべてのデータは単一のサーバー上に保存されているため、サーバーが破損してすべてのデータが失われる可能性が高くなりますが、定期的にバックアップすることはもちろん可能です。代表的な製品:SVN、CVS、Vss。

3. 分散バージョン管理 GIT

各ブランチにはすべてのコードがあります。

すべてのバージョン情報ウェアハウスは各ローカル ユーザーと同期されるため、すべてのバージョン履歴をローカルで表示したり、オフラインでローカルに送信したりでき、インターネットに接続しているときに対応するサーバーまたは他のユーザーにプッシュするだけで済みます。各ユーザーが全バージョンのデータを保存しているため、あるユーザーの端末に問題がなければ全データを復元できますが、ローカルストレージの占有量が増加します。

サーバーの損傷やネットワークの問題によって動作しなくなることはありません。

4. Git と SVN

SVN の主な違いは、集中バージョン管理システムです。バージョン ライブラリは中央サーバーに集中しており、動作するときは、全員が自分のコンピュータを持っているため、まず中央サーバーから最新バージョンを取得してから作業し、作業が完了したら、昨夜の作業を中央サーバーにプッシュする必要があります。集中バージョン管理システムが動作するにはインターネットに接続する必要があり、高いネットワーク帯域幅が必要です。

GIT は、中央サーバーを持たない分散バージョン管理システムです。各コンピュータは完全なバージョン ライブラリです。バージョンはすべてコンピュータ上にあるため、作業中にインターネットに接続する必要はありません。コラボレーションの方法は次のとおりです。たとえば、あなたがコンピュータ上のファイル A を変更し、他の誰かがあなたのコンピュータ上のファイル A を変更した場合、2 人は自分の変更を相互にプッシュするだけで、お互いを確認することができます。変更されました。 Git はどのコードとファイルが更新されたかを直接確認できます。

Git は現在、世界で最も先進的な分散バージョン管理システムです。

Git 環境設定

Git 公式 Web サイト https://git-scm.com を開き、オペレーティング システムに対応するバージョンの git をダウンロードします。

すべてのダウンロードが遅い場合は、ミラーを見つけることができます。

公式 Web サイトのダウンロードは遅すぎるため、淘宝網のミラー ダウンロードを使用できます: http://npm.taovao.org/mirrors/git-for-windows/

Git を開始します

Git Bash: Unix および Linux スタイルのコマンド ライン、最もよく使用され推奨される

Git CMD: Windows スタイルのコマンド ライン

##Git GUI: グラフィカルな Gitインターフェイス。初心者には推奨されません。一般的なコマンドに慣れるようにしてください。

基本的な Linux コマンドの学習

cd: ディレクトリを変更します。

cd..Return前のページへ ディレクトリ。直接 cd してデフォルトのディレクトリに入ります。

pwd: 現在のディレクトリのパスを表示します。

ls(ll): 現在のディレクトリ内のすべてのファイルを一覧表示します。ただし、内容はリストされます。詳細については、ll の後に続きます。

touch: touchindex.js などの新しいファイルを作成すると、新しい Index.js ファイルが現在のディレクトリに作成されます

rm: ファイルを削除します

mkdir: 新規作成 ディレクトリは新しいフォルダーです。

rm-r: フォルダーを削除します。rm-r src は src ディレクトリを削除します。

mv ファイルを移動します。

reset は端末を再初期化し、画面をクリアします

Clear Clear Screen

historyコマンド履歴の表示

help

exit exit

#コメントを示します

Git 構成

すべての設定ファイルは実際にはローカルに保存されます

ユーザー名と電子メール アドレスを設定します:

git config --global user.name "Name"

git config - -global user.email 22222@qq.com

git config --system --list システムによって構成された構成をクエリします

git config --global --list グローバル構成をクエリします

Git の基本理論

##Git には、作業ディレクトリ (Working Directory)、ステージング領域 (Stage、Index)、およびリソース ライブラリ (リポジトリまたは Git ディレクトリ) の 3 つのローカル作業領域があります。リモート git ウェアハウス (リモート ディレクトリ) を追加すると、4 つの作業領域に分割できます。これら 4 つの領域間のファイル間の変換関係は次のとおりです。

ワークスペース: ワークスペースは、通常、プロジェクト コードを保存する場所です。
  • Index/ステージ: 一時ストレージ領域: 変更を一時的に保存するために使用されます。実際には、これはファイル リストに送信される情報を保存するための単なるファイルです
  • リポジトリ: 倉庫エリア (またはローカル倉庫)データを安全に保存するため この場所には、すべてのバージョンに送信したデータが含まれています。 HEAD は、ウェアハウスに置かれた最新バージョンを指します。
  • リモート: コードをホストするサーバーであるリモート ウェアハウスは、単純にプロジェクト チーム内のリモート データ交換用のコンピューターと考えることができます。
  • 正確には、3 つのローカル領域は、git ウェアハウス内の HEAD によって指定されるバージョンである必要があります:

ディレクトリ: Git 管理を使用する ディレクトリ、つまりウェアハウスには、ワークスペースと Git 管理スペースが含まれています。
  • WorkSpace: Git によるバージョン管理が必要なディレクトリとファイル。これらのディレクトリとファイルがワークスペースを構成します。
  • .git: Git の管理情報を格納するディレクトリ。ウェアハウスの作成時に自動的に作成されます。初期化された。
  • インデックス/ステージ: ステージング領域、または送信される更新領域。リポジトリに送信する前に、すべての更新をステージング領域に配置できます。
  • ローカル リポジトリ: ローカル リポジトリ、ローカルに保存されたリポジトリ。HEAD は現在の開発ブランチ (ブランチ) のみになります。
  • Stash: 非表示。これは作業ステータス保存スタックであり、WorkSpace で一時的なステータスを保存/復元するために使用されます。
ワークフロー

git のワークフローは一般に次のとおりです:

1. 作業ディレクトリ内のファイルを追加および変更します。

2. バージョン管理が必要なファイルをステージング領域に配置します;

3. ステージング領域内のファイルを Git ウェアハウスに送信します。

したがって、git によって管理されるファイルには、変更済み、ステージング済み、コミット済みの 3 つの状態があります。

Git プロジェクトの構築

作業ディレクトリの作成と一般的な手順

作業ディレクトリ (WorkSpace) は、通常、Git に必要なものです。管理に役立ちます。フォルダーには、プロジェクトのディレクトリまたは空のディレクトリを指定できます。漢字を含めないことをお勧めします。

日常的に使用する場合は、以下の 6 つのコマンドを覚えておいてください:

ローカル ウェアハウスを構築する:

Createローカル ウェアハウスを作成するには 2 つの方法があります。1 つは新しいウェアハウスを作成する方法、もう 1 つはリモート ウェアハウスのクローンを作成する方法です。

1. 新しいウェアハウスを作成するには、GIT によって管理されているプロジェクトのルート ディレクトリを使用して、

#在当前目录新建一个Git代码库
$ git init初始化
ログイン後にコピー

2 を実行する必要があります。実行後、 が 1 つだけあることがわかります。プロジェクトディレクトリ内の git ディレクトリ、バージョンなどの情報はすべてこのディレクトリにあります。

リモート リポジトリのクローンを作成する

1. もう 1 つの方法は、リモート サーバー上のパンツをローカル サーバーに完全にミラーリングするため、リモート ディレクトリのクローンを作成することです。

#可镂一个项目和它的整个代码历史(版本信息)
$ git clone [url]
ログイン後にコピー

2. gitee または github に移動してテストのクローンを作成します

Git ファイル操作

ファイル 4 の状態

バージョン管理これはファイルのバージョン管理です。ファイルを変更して送信するには、まずファイルの現在のステータスを把握する必要があります。そうでないと、まだ送信したくないファイルを送信したり、送信したいファイルがまだ更新されていない可能性があります。提出されました。

  • Untracked: Untracked、このファイルはフォルダー内にありますが、git ライブラリには追加されず、バージョン管理にも参加せず、git add を通じてステージングに変更されます。
  • Unmodify: ファイルはデータベースに保存されており、変更されていません。つまり、リポジトリ内のファイル スナップショットの内容は、フォルダ内のファイル スナップショットの内容とまったく同じです。このタイプのファイルには 2 つの場所があります。変更されている場合は、「Modified」になります。 git rm を使用してリポジトリを削除すると、追跡されていないファイル
  • Modified: ファイルは変更されました、変更されたばかりで、他の操作は実行されていません。このファイルには 2 つの場所もあります。 git add を通じて一時ストレージに入ります。ステージングされた状態では、git checkout を使用すると変更が破棄され、未変更状態に戻ります。この git checkout はライブラリからファイルを取り出し、現在の変更を上書きします。
  • ステージング: 一時的な状態。git commit を実行して、ライブラリへの変更を同期します。この時点で、ライブラリ内のファイルとローカル ファイルの整合性が再び整い、ファイルは Unmodify 状態になります。 git replace HEAD filenameを実行すると一時保存が解除され、ファイルのステータスがModifiedに変わります。

ファイルの状態を確認する

ファイルには 4 つの状態があると言われており、次のコマンドでファイルの状態を確認できます:

#查看执行文件状态
git status [filename]
#查看所有文件状态
git status
#添加所有文件到暂存区
git add .
#提交暂存区中的内容到本地仓库 -m提交信息
git commit -m "注释内容"
ログイン後にコピー

ファイルを無視する

データベース ファイル、一時ファイル、デザイン ファイルなど、特定のファイルをバージョン管理に含めたくない場合があります。

メイン ディレクトリ ファイルに「.gitignore」を作成します。このファイルには次のルールがあります。

  1. ファイル内の空行を無視するか、ポンド記号 (#) で始まる行は無視されます。
  2. Linux ワイルドカードを使用できます。たとえば、アスタリスク (*) は任意の数の文字を表し、hello (?) は 1 文字を表し、角括弧 ([abc]) はオプションの文字範囲を表し、中括弧 ({string1, string2}) はオプションの文字列を表します。
  3. 名前の先頭に感嘆符 (!) がある場合、それは例外ルールを示し、無視されません。
  4. 名前の先頭がパス区切り文字 (/) である場合、無視されるファイルがこのディレクトリにあり、サブディレクトリ内のファイルは無視されないことを意味します。
  5. 名前の最後がパス区切り文字 (/) である場合、ファイルではなく、このディレクトリ内の名前のサブディレクトリが無視されることを意味します (デフォルトのファイルと後続のディレクトリは無視されます)。 。
#为注释
*.txt        #忽略所有 .txt结尾的文件,这样的话上传就不会被选中
!lib.txt    #但lib.txt除外
/temp        #进忽略项目根目录下的TODO文件,不包括其他目录temp
build/       #忽略build/目录下的所有文件
doc/*.txt    #忽略doc/notes.txt 但不包括 doc/server/arch.txt
ログイン後にコピー

.gitignore ファイルの内容

#java
*.class
*.log
*.lock

#Package Files #
*.jar
*.war
*.ear
target/

# idea
.idea/
*.iml

*velocity.log*

### STS ###
.apt_generated
.factorypath
.springBeans

### IntelliJ IDEA ###
*.iml
*.ipr
*.iws
.idea
.classpath
.project
.settings/
bin/

*.log
tmp/

#rebel
*rebel.xml*
ログイン後にコピー

コード クラウドを使用する

  1. コード クラウドに登録してログインし、個人情報を入力します
  2. マシンをセットアップする 保定 SSH 公開キーにより、パスワードなしでログインできるようになります。
# 进入 C:\Userss\Administrator\.ssh 目录
# 生成公钥
ssh-keygen -t rsa
ログイン後にコピー

3. 公開キー情報の公開キーをコード クラウド アカウントに追加します。

4. Code Cloud を使用して独自のウェアハウスを作成する

Git を IDEA に統合する

1. 新しいプロジェクトを作成し、git をバインドする

リモートを統合するgit ファイル ディレクトリをプロジェクトにコピーするか、同じ名前で git ディレクトリに作成するだけです (git ファイルはリモートで複製された git ファイルです)

アイデアは後で表示されます。リフレッシュ

2. ファイルを変更し、IDEA を使用して git

  • を操作し、一時記憶域 git add .
  • に追加します。
  • コミット送信 git commit
  • リモート ウェアハウス git Push にプッシュ

3. テストを送信

Git ブランチ

git ブランチの一般的な手順

#列出所有本地分支
git branch
#列出所有远程分支
git branch -r
#新建一个分支,但仍然停留在当前分支
git branch [branch-name]
#新建一个分支,并切换到该分支
git checkout -b [branch]
#合并指定分支到当前分支
git merge [branch]
#删除分支
git branch -d [branch-name]
#删除远程分支
git push origin --delete [branch-name]
git branch -dr [remote/branch]
ログイン後にコピー

推奨される学習: 「Git チュートリアル

以上がGit を始めるための 30 分 (概要)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
git
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート