最高のGitチュートリアル

Gitは、Linux開発コミュニティのLinusTorvaldsなどによって2005年に作成されたオープンソースの分散バージョン管理システムです。Gitはさまざまな種類のプロジェクトで機能しますが、ソフトウェアのソースコードに最も一般的に使用されています。

バージョン管理は、ファイルまたはファイルのグループへの変更を経時的に追跡するシステムです。これらの変更の履歴がある場合は、後で特定のバージョンを検索したり、バージョン間の変更を比較したり、削除した可能性のあるファイルを復元したり、ファイルを以前のバージョンに戻したりすることができます。

分散の異なるユーザーが、1つのつではなく、中央リポジトリから作業を、プロジェクトの独自のリポジトリを維持するバージョン管理システム手段。ユーザーは、中央サーバーやネットワークにアクセスしなくても、完全なファイル追跡機能とプロジェクトの完全なバージョン履歴を自動的に取得できます。

Gitがプロジェクトディレクトリで初期化されると、ファイルの変更の追跡が開始され、「変更セット」または「パッチ」として保存されます。プロジェクトで一緒に作業しているユーザーは、変更セットを送信します。変更セットは、プロジェクトに含まれます(または拒否されます)。

freeCodeCampにはYouTubeプレイリストがあり、GitとGitHubの実用的なヒントがたくさんここにあります。

その他のチュートリアル:

  • スコット・チャコンとベン・ストラウブによって書かれ、エイプレスによって出版されたプロ・ギットの本。この本はGitのドキュメントに完全に表示されています。
  • ダウンロード、ドキュメント、およびブラウザベースのチュートリアルの場合:Git公式ウェブサイト
  • GITが悪い状況にあるときに最も役立つコマンド:ああ、s ***、git!

Gitプロジェクトの3つのセクションを理解する

Gitプロジェクトには、次の3つの主要なセクションがあります。

  1. Gitディレクトリ
  2. 作業ディレクトリ(または作業ツリー)
  3. ステージングエリア

Gitのディレクトリ(にありますがYOUR-PROJECT-PATH/.git/Gitはそれが正確にプロジェクトを追跡するために必要なすべてを保存する場所)です。これには、メタデータと、プロジェクトファイルの圧縮バージョンを含むオブジェクトデータベースが含まれます。

作業ディレクトリは、ユーザがプロジェクトにローカルな変更を行う場所です。作業ディレクトリは、プロジェクトのファイルをGitディレクトリのオブジェクトデータベースから取得し、ユーザーのローカルマシンに配置します。

ステージング領域は、あなたになりますかについての情報が格納され、次のコミットというファイル(とも呼ばれる「インデックス」、「ステージ」、または「キャッシュ」)です。コミットとは、これらの段階的な変更を保存するようにGitに指示することです。Gitはファイルのスナップショットをそのまま取得し、そのスナップショットをGitディレクトリに永続的に保存します。

3つのセクションがあり、ファイルがいつでも存在できる3つの主要な状態があります。コミット、変更、またはステージングです。あなたは、修正ファイルにあなたがあなたの作業ディレクトリで、それに変更を加える任意の時間を。次に、それはだ上演あなたがステージングエリアに移動するとき。最後に、それはだコミットコミット後。

Gitをインストールする

  • Ubuntu: sudo apt-get install git
  • Windows:ダウンロード
  • Mac:ダウンロード

Git環境を構成する

Gitには、git configGit環境をカスタマイズできるツールがあります。特定の構成変数を設定することで、Gitの外観と機能を変更できます。これらのコマンドは、マシンのコマンドラインインターフェイス(Macの場合はターミナル、Windowsの場合はコマンドプロンプトまたはPowershell)から実行します。

これらの構成変数が格納される場所には、次の3つのレベルがあります。

  1. システム:に/etc/gitconfigあり、コンピュータのすべてのユーザーにデフォルト設定を適用します。このファイルに変更を加えるに--systemは、git configコマンドでオプションを使用します。
  2. ユーザー:~/.gitconfigまたは~/.config/git/configにあり、1人のユーザーに設定を適用します。このファイルに変更を加えるに--globalは、git configコマンドでオプションを使用します。
  3. プロジェクト:にありYOUR-PROJECT-PATH/.git/config、プロジェクトにのみ設定を適用します。このファイルに変更を加えるには、git configコマンドを使用します。

互いに競合する設定がある場合、プロジェクトレベルの構成はユーザーレベルの構成をオーバーライドし、ユーザーレベルの構成はシステムレベルの構成をオーバーライドします。

Windowsユーザーへの注意:Gitは.gitconfig$HOMEディレクトリ(C:\Users\$USER)でユーザーレベルの構成ファイル()を探します。Gitも検索しますが/etc/gitconfig、MSysルートに関連しています。これは、インストーラーの実行時にWindowsシステムにGitをインストールすることを決定した場所です。Git for Windowsのバージョン2.x以降を使用している場合は、C:\Documents and Settings\All Users\Application Data\Git\configWindowsXPおよびC:\ProgramData\Git\configWindowsVista以降にシステムレベルの構成ファイルもあります。この設定ファイルはgit config -f FILE、管理者としてのみ変更できます。

名前とメールアドレスを追加する

Gitには、コミットの情報の一部としてユーザー名とメールアドレスが含まれています。次のコマンドを使用して、ユーザーレベルの構成ファイルでこれを設定する必要があります。

git config --global user.name "My Name" git config --global user.email "[email protected]"

テキストエディタを変更する

Gitは自動的にデフォルトのテキストエディタを使用しますが、これは変更できます。代わりにAtomエディターを使用する例を次に示し--waitます(このオプションは、プログラムが進む前にテキストエディターで作業できるように、シェルにテキストエディターを待機するように指示します)。

git config --global core.editor "atom --wait"

Git出力に色を追加する

次のコマンドを使用して、Git出力に色を追加するようにシェルを構成できます。

git config --global color.ui true

すべての構成設定を表示するには、コマンドを使用しますgit config --list

プロジェクトでGitを初期化する

Gitをコンピューターにインストールして構成したら、プロジェクトでGitを初期化して、バージョン管理機能の使用を開始する必要があります。コマンドラインで、cdコマンドを使用して、プロジェクトの最上位(またはルート)フォルダーに移動します。次に、コマンドを実行しgit initます。これにより、Gitがプロジェクトを追跡するために必要なすべてのファイルとオブジェクトを含むGitディレクトリフォルダーがインストールされます。

Gitディレクトリがプロジェクトのルートフォルダにインストールされていることが重要です。Gitはサブフォルダー内のファイルを追跡できますが、Gitディレクトリに関連する親フォルダーにあるファイルは追跡しません。

Gitでヘルプを取得する

Gitでコマンドがどのように機能するかを忘れた場合は、コマンドラインからいくつかの方法でGitヘルプにアクセスできます。

git help COMMAND git COMMAND --help man git-COMMAND

これにより、シェルウィンドウにコマンドのマニュアルページが表示されます。ナビゲートするには、上下の矢印キーでスクロールするか、次のキーボードショートカットを使用します。

  • fまたはspacebarページを進める
  • b ページに戻る
  • q やめること

GitとGitHubの違い

GitとGithubは2つの異なるものです。Gitはバージョン管理システムであり、GitHubはGitリポジトリをホストするためのサービスであり、人々がソフトウェアを作成する際に共同作業を行うのに役立ちます。ただし、GitHubがGitの上に構築されているという事実、および多くのWebサイトや記事ではそれらの違いが十分に明確になっていないため、名前が似ているために混乱することがよくあります。

GitはGitHubではありません

ギット

Gitは分散バージョン管理システムです。Gitは、コンテンツ(通常はソースコードファイル)への変更を追跡する責任があります。

詳細については、Git自体に関する完全な記事があります。

GitHub

GitHubは、Gitリポジトリホスティングを提供するサービスです。つまり、サーバー上でGitリポジトリをホストするためのターンキーソリューションを提供します。これは、リポジトリのバックアップを保持し(Gitは時間の経過とともにファイルに加えられた変更のみを追跡します。リポジトリは引き続きバックアップする必要があります)、コードを保持して他のユーザーと共有するための中央の場所を用意するのに役立ちます。

GitHubは、単なるGitリポジトリホスティングサービスではなく、ソフトウェアフォージです。つまり、問題追跡システム、コードレビュー用のツール、および他の人と協力してソフトウェアを作成するためのその他のツールも提供します。

この種のサービスを提供しているのはGitHubだけではありません。その主要な競合相手の1つはGitLabです。詳細については、Gitホスティングに関するセクションをご覧ください。

SSHを使用してGitHubで認証する方法

rsa続行する前に、ここにファイルがないことを確認してください。次を使用します。

ls -al ~/.ssh

リストするものがない場合(つまり: No such file or directory)、次を使用します。

mkdir $HOME/.ssh

そこに何もない場合は、次のコマンドで新しいkeygenを生成します。

ssh-keygen -t rsa -b 4096 -C [email protected]

を使用ls -al ~/.sshすると、id_rsa.pubファイルが表示されます。

SSHキーをSSHエージェントに追加します。

eval "$(ssh-agent -s)" # for mac and Linux from bash
eval `ssh-agent -s` ssh-agent -s # for Windows

次のコマンドを使用して、RSAキーをSHHに追加します。

ssh-add ~/.ssh/id_rsa

キーをクリップボードにコピーします

clip < ~/.ssh/id_rsa.pub # Windows
cat ~/.ssh/id_rsa.pub # Linux

GitHub設定ページに移動し、[新しいSSHキー]ボタンをクリックして、生成されたキーを貼り付けます。

次に、次のコマンドで認証します。

ssh -T [email protected]