gitの学習記録 - 倉庫内のgit、ファイルのステータス、変更、およびコミット操作

  注意:この記事の主な記録は、読み  プロGitの  最初の二つのノートを。対応するコンテンツの直接変換の一部。

  最近、Gitのバージョン管理ツールを使用して開始した。学習の主な方法をプロのgitのgitとサイト上の実践ハンズオン読書を通じて、使用するシステムは、このレコードに、同様のWindows 8.1として、Ubuntu16.04LTSです。

 

Gitリポジトリの概要

  三州Gitのファイル管理

  コミット:ファイルを示すコミット状態データをローカルデータベースに保存されています。

  修正:状態を変更し、そのファイルが変更されているが、まだ提出(保存)されていないことを示しています。

  上演:一時的な状態、マークされたファイルが変更されていることを示す、それは次の変更を保存すると、すべての標識提出します。

 

  Gitは三つのフィールドで動作します

  Gitのディレクトリ:Gitのディレクトリ、データ及び情報のローカルgitリポジトリ、その倉庫(リポジトリ)、プロジェクトの場所および関連情報のすべてのバージョンを保存します。クローン(クローン)中のユーザは、操作Gitのディレクトリ(リポジトリ)の操作であることです。

  作業ディレクトリ:作業ディレクトリ、それが動作し、データや情報を変更するユーザーのためのGitのディレクトリから対応する抽出物から、プロジェクトのバージョンに対応するファイルの集まりです。

  エリアステージング:ステージング領域を、あなたは、次の記録ファイルリストファイル情報の提出の時間を節約する必要があります。

  ファイルがすでにそのファイルには、gitのディレクトリ(リポジトリ)に存在する場合は、上記の3つのファイルの状態に対応する、見ることができる状態に提出されましたファイルが変更され、ステージング領域に記録されている場合、ファイルは、一時的状態を記憶されていますファイルが変更されたが上演としてだけでマークされていないされている場合は、(状態が第1の一時的な服従を入力する必要がある場合にのみ保存された)状態を変更し、次のコミット時に関連した情報を保存しません。

 

  ファイルの異なるステータス

  作業ディレクトリ(作業ディレクトリ)には、文書の2つの状態が追跡され、追跡されていない、があります。ファイルはこれらのファイルを順番に変更することができる、Gitリポジトリに存在し、それは同時に、最後の状態を提出することができることは既に文書化され、それらの文書の提出に存在する追跡、人跡未踏のファイルは、他のすべての作業ディレクトリでありますディレクトリの最後の新しいファイルとして提出文書、。最初にすべてのファイルが追跡され、ファイルが変更されていない倉庫のディレクトリにクローン化したとき。

  現在の作業ディレクトリの状態遷移図は、(gitのProから)ファイル内に存在してもよいです。

  

  あなたは、次の記号で説明した主な状態の結果を示し、現在のディレクトリにファイルの状態を取得するためにstatusコマンドをgitのことができます。

    ファイル人跡未踏:ファイルのフラグ状態はGitは人跡未踏の状態が状態を上演されたファイルを変換するためのイニシアチブを取ることはありません、人跡未踏で、アップロードしたくない投稿を避けるために、コマンドが表示されている追加の変換はgitを介してユーザが必要です。

    変更にコミットする  :ファイルのフラグ状態が上演され、提出され、それが上記の文書に記録されますとき。

    コミットの変更のために上演されていない:変更ではなく、中の状態は、ファイルを追跡上演されたフラグを、段階的な状態に変換するコマンドを追加gitのを使用します。

  ファイル名、ファイルまたはディレクトリによって指定されたファイル名が追加されたコマンドgitの追加使用は、(ファイルまたは追跡されていないファイルを追跡改変から)状態を上演しました。操作をコミットするには、コマンドgitのコミットを使用します。

  注意:応募は、変更ファイルの状態にコミットすることになっているのgitコマンドを追加するときに、ファイルの内容を使用するために提出した書類の内容これは、Gitは再び変更されたファイルを追加しない限り、コマンドを追加し、二次利用のgitで同じファイルを変更するために提出されることはありません状態を上演参加します。

  再び交流ファイルが変更された交流を追加するコマンドはgitを使用して、その後ときにgit statusコマンドに反映、これらの文書を同時に変更に表示されますがコミットし、変更が説明をコミットするために上演されていないと(つまり、同じ名前のエントリが存在する)が、特定のファイルの内容が異なっており、唯一の提出後に修正されていない項目を、提出する際の状態をコミットする変更に提出されます。ユーザーは、ステータス-s / gitのことができます-ファイルのステータスの簡単な説明を与えるために、短いを参照してくださいここに

 

基本的な操作をGitは

  Gitのディレクトリ(倉庫)を引いて

  Gitリポジトリを取得し、主に二つの方法があります。

  (1)Gitのリポジトリに新しいローカルディレクトリ。ディレクトリを入力し、コマンドのgit initをを入力し、Gitは、すべての必要な情報の倉庫が含まれている現在のディレクトリに.gitディレクトリを作成します。コマンドは、ちょうどので、倉庫がnull考えることができ、初期化プロセスを完了していないし、何も提出。

  (2)クローン(クローン)の他の場所からGitのリポジトリ。地元のクローンに(すべてのバージョンと変更履歴を含む)サーバに格納されているすべてのファイルのリポジトリを対象とするコマンドのgitのクローンを使用し、他のバージョン管理ソフトウェアのチェックアウトとは異なり、異なるコマンド(プロジェクトの唯一のバージョンを取得)。 

  クローンgitの<URL>             // 倉庫へのコンテンツのURLのポイントを取得

  ユーザーがHTTPSクローンgitのを使用する場合// github.com/project_name/project_nameコマンドはgitリポジトリを取得する際に、Gitは次の手順を実行します

    。地元PROJECT_NAMEを確立するために、ディレクトリ、およびその.gitディレクトリを初期化します。

    B。倉庫内のすべてのファイルを取得し、最新バージョンの操作するユーザーのためにPROJECT_NAME作業フォルダを作成するために置か解凍ファイル。

  ユーザーは、このようなgitのクローンhttps://github.com/xxx/xxx DIR_NAMEとして、パラメータとして先のフォルダ名を追加することができ、gitのは、命令の背後にあるファイルディレクトリDIR_NAMEに倉庫の下に置かれています。//およびユーザー@サーバ:httpsプロトコルに加えて、gitのもgitのをサポートしてパス形式。

 

  基本的なコマンドを使用します。

  簡単なgitのことで、現在のディレクトリのバージョン管理操作でファイルへのコマンド。

  gitの状態 - ファイルのステータスを表示します

  gitの状態を経て、現在のディレクトリ内の個々のファイルの状態を表示します。Gitのステータス操作命令を使用することができる文書の様々な状態によって説明します。

    ステータスのgit         //は、各ファイルのフォルダの現在のステータスを表示します

  メイン文書におけるリポジトリのgitの状態(上記対応する説明を参照)。

  人跡未踏のファイル:ディレクトリが空のGitのディレクトリを初期化するために、Gitのinitによって初期化されるときにgitのトラックレコードは、対応するファイルされていない、ディレクトリ内のすべてのファイルが状態でgitの実績ではありません。

  コミットの上演ではない変更:gitのは、トレースファイルに限定されてきた(追跡)です。これらの変更のいずれかが発生した場合、それはgitのの添加によって必要とされていない(のために上演)、この状態で提出状態を追加します。

  コミットする変更:ファイルだけはgitのトラックレコード(追跡)であるとなっています。これらのファイルは、変更がある場合、この状態では、状態に提出するニーズを追加gitのことで参加してきました。変更は、状態のファイルを変更コミットgitのを通じて提出しなければなりません。

  Gitのことで以下に示すように、すなわち一つだけHELLO.CPPファイル、初期化後にINITを含む新しいテストディレクトリは、空のgitリポジトリ、Gitのステータス結果を生成するときに練習、追跡されていないHELLO.CPPこの時点で見ることができます状態。

  

 

  gitの追加 - の状態に変更するファイルを追加します。

  ステータスgitのは、(変更がコミットされるように)提出するファイルを追加します。git addは2つの主要な機能を持っています実績しませんgitのファイル(人跡未踏)レコードのgitリポジトリを「参加」し、bの状態をコミットするために上演していない変更の下で修正されたファイルで提出する必要に追加しました。。状態(上演)。これらの2つの機能は、ファイルが状態をコミットする変更となります。

    追加Gitのファイルリスト         // ファイルへのファイル・リストを追加状態がコミットする変更指定された
     追加のGitリポジトリ。                // カレントディレクトリにコミットする状態の変化にすべてのファイルを追加します 

  ユーザーはgitリポジトリに「追加」人跡未踏の状態の下で、現在のディレクトリにコマンドファイルを追加gitのことができます。著者の実際には、それは、gitの通過HELLO.CPP状態をコミットするHELLO.CPPの変更に参加します追加し、gitの追加も使用することができます。コマンドカレントディレクトリの変更内のすべてのファイルの状態がコミットされるようになります。

 

  gitのコミット - 倉庫への変更をコミット

  コマンドはgitで上演状態で、すべての書類を提出することを約束。上記のコマンドはgitのコマンドは状態を上演マークの追加使用してファイルを提出することに注意してください

  コマンドのgitによってGitは時間に編集画面をコミットし、ユーザーがデフォルトの表示エディタによって提出を識別するために、(メッセージがコミット)コミットメッセージを編集する必要があります。#で始まる行はコメントを表し、利用者は、出口の終わりには、Gitが提出された情報を使用する(つまり、新しいスナップショットを生成する)新しい投稿を作成、編集します。デフォルトの表示も、表示内容に含まれているユーザーがコメント解除により変更することができたり、新しいコンテンツを編集した結果(コメント)最終のgit statusコマンドを表示し、-vを使用するときにパラメータを追加することが結果のgit diffコマンドを発行します含み情報(Ubuntuシステムの下で実行した結果を)提出します。

  また、Gitはコミット-m、申請プロセスがよりコンパクトな場合にも使用することができる情報を提出直接指定するには、コマンド「コミットメッセージ」を使用することができます。

   

  gitのrmを - ドキュメントの追跡を削除

  Gitのでは、ファイルは、ファイル追跡状態がその後動作コマンドgitのRMの完了を介して、送信、キャンセルされた削除含みます。より具体的には、参照を記述することができ、本明細書

  gitのRM交流交流ファイルが削除され、マークされ、「編集」を削除状態に上演されます。gitのcommitコマンドを使用するときは、ACファイルは、作業ディレクトリから消えず、もはや状態を追跡します。これは、ファイルが再び後の処理動作のために追跡されていないファイルとして扱われないことを保証します。

  このようRMなどの従来の削除操作は、状態をコミットするために上演していない変更で削除されたファイルを行います、とのgitのrm削除は変更で削除されたファイルの状態がコミットされるようになります。注意してください。ユーザーが送信した後、前者が原因提出されることはありませんしながら、Gitが、ファイルを削除した後、後者については、もはや記録されていない、この状態のままになります。

  修正と状態はあなたがファイルを削除すると、GitはGitのRMによって記録されていない他の誤用を避けるために必要な-fパラメータを使用してファイルを削除して、ファイルを上演するために追加されました。

  --cached xxxのファイルは、もはやGitリポジトリを記録したが、役割と.gitignoreファイルに似た作業ディレクトリに存在し続けている作ることができませんパラメータのgitのrmを使用してください。

  

  gitのログ - Viewがコミット履歴

  ローカルに別の倉庫プロジェクトから作成またはクローン化のためのレコードがレコードの複数の応募があり、あなたはgitのログコマンドを使用して履歴を表示することができ提出してください。

  デフォルトでは、Gitのログ(すなわち、最後の最初の表示をコミット)します送信順序を逆によれば、Gitのログが表示され、提出SHA-1ハッシュ値の対応するオーダーされ、そして、メールボックス、出願日、及び情報の提出コンテンツ。

  

  gitのログには、いくつかの一般的なパラメータは、コンテンツがより正確な必要を表示するために使用することができる持っています。

    -p            // 各ログエントリに提出された情報を変更する参加 
    -n            // のみ提出したエントリの最も最近のn個のショー 
    --stat        // 表示ファイルを使用すると、情報送信するたびに変更され 
    --pretty =オプション     // オプション、オンライン短いなどであってもよいまた、参照があり、出力フォーマット情報そのものを指定することができ、ここで 
    --graph              // ツリー表示出力文字の形がレコードをコミット

 

  失効および変更業務

  (1)提出プロセスの場合:適切に提出されていない一部の文書を発見した場合は、情報または不作為を提出する(状態を上演参加していないが)最初に、これを状態を上演参加するために、追加の書類を提出し、その後、gitのは、--amend commitコマンドを使用する必要があります提出は、プロセス中に、あなたが提出された情報を変更することができ、最後の提出を置き換えます。

  (2)段階的なファイル状態の:コマンドgitのリセットHEADファイル名のファイル名のファイルが変更から復元することができる使用して一般的な状態に状態を上演。

  修正されたファイルのために(3):無修正の状態に変更されたファイルを復元するには、Gitのチェックアウト--filenameを使用することができ、以前の回復から、対応するファイルレコードに提出され、単純に破棄しますその変形;

  実際には、適切な行動を促すメッセージが表示されますのgit statusコマンドを経由して、現在の作業ディレクトリ、ファイルのステータス情報を取得します。ユーザーが直接これを行う方法を確認するためにはgit statusコマンドを使用することができます。

 

  他の

  (1)ステータスエリアはスキップ上演:Gitは直接追跡すべての書類を提出し-aコミットコマンドのgitのパラメータに追加し、gitのアドに変換する必要性を排除しながらして状態を上演。

  (2).gitignoreファイルを作成、表示、および提出(処理を無視する)、特定の基準を記述することができるために設定する必要はありませんここ。 

 

Gitの設定

  変数そのようなアプリケーションのパーソナライゼーションの変形にgitのGitの設定、変数を運ぶツールによってパーソナライゼーションは、異なるスコープ(Ubuntuのディレクトリ構造環境)とそれぞれ、3つの異なる位置に格納することができます。

  (1)は/ etc / gitconfig、Gitのグローバル変数設定。これで設定はすべてのユーザーとGitのリポジトリシステムに適用されます。--systemパラメータは、Gitの設定によって設定されています。

  (2)〜/ .gitconfig又は〜/の.config / gitの/設定、ユーザのすべての操作に適用されているユーザの個人Gitの変数設定、。パラメータで設定--global。

  (3)設定ファイルディレクトリGitリポジトリ(以下の.configディレクトリ)は、変数のGitディレクトリの一部を記録するように配置されました。

  各層の構成変数の値は、設定値の被覆層の上に提供され、したがって、特定のディレクトリ内の設定ファイルの効果は、Gitはに対応した設定は/ etc / gitconfigを提供する効果をマスクすることができます。

  設定した個人情報

  、ユーザ名とEMAIなどの個人情報を、検索提出する前に、ユーザー名とメールボックス名を設定する必要がありますこれは、個々のユーザに関連付けられ、したがって--globalパラメータです。 

  Gitの設定--global user.name "XXX" 
  gitの設定--global user.email EMAIL_ADDRESS

  デフォルトのエディタを設定します。   

  --global core.editor vimの設定gitの         vimのためのUbuntu環境で//設定エディタ

  ビューの設定

  構成パラメータは、次のコマンドでGitリポジトリを介して見ることができます

  コンフィグ--list gitの            変数の現在のすべての値が設定されている//ビューには、上記の3つのファイルから読み込んで、そのため、特定の変数が何回か、その実際の使用のGitの値の値の最後に出現表示される場合があります              
  gitのコンフィグたキー名          //をこのようにgitのconfig user.nameなどの特定の変数の表示Gitの現在値

 

  Gitのヘルプ

  ユーザーは、次のコマンドが含まれ、我々は、情報とネットワーク資源の助けを借りてのgit関連のコマンドの機能を理解することができ、コマンドラインから助けを得ることができます。 

  gitのヘルプ<アクション> //如来の素敵なヘルプが設定ヘルプ設定のgitによる操作のために利用可能である     
  のgit-config設定の男が、このような取得//などの助けを働き人GIT-名
  はgitコマンド-h //などの簡単なヒント、の助けを得ますgitの設定-h

 

リファレンスと学習リソース:

  Gitのハンドブック

  githubの-のgit-チートシート、Githubに

  

おすすめ

転載: www.cnblogs.com/yhjoker/p/7740203.html