GIT は、最も用途の広い分散バージョン管理システムです。
GIT がファイルの変更を追跡して処理する方法は非常に効率的であり、他のバージョン管理ソフトウェア (CVS や Subversion を含む) が変更を追跡する方法とは異なります。
この記事は、GIT を初めて使用する方を対象としています。これは、ソースから GIT をインストールする方法、新しいプロジェクトを作成する方法、変更を GIT リポジトリにコミットする方法を示すジャンプスタート ガイドです。
CVS/SVN の経験がある場合は、リポジトリがサーバーにインストールされているクライアント サーバー モデルに変換します。クライアントを使用して、リポジトリからプロジェクトをダウンロードし、変更を加えて、サーバーのリポジトリにコミットします。
GIT はクライアント サーバー モデルを使用しません。リモート GIT リポジトリからプロジェクトをダウンロードすると、個々のファイルのバージョン履歴と変更を含むすべてがダウンロードされ、ローカル GIT はサーバーとして機能し、チェックイン、チェックアウト、およびその他すべてを実行できます。典型的なバージョン管理活動。後で準備ができたら、変更をリモート GIT リポジトリにマージできます。
そのため、ローカル マシンで GIT を使用して独自のプロジェクトを管理する場合でも、サーバーに GIT をインストールする場合でも、インストールと構成の手順はまったく同じです。他の開発者はそこからプロジェクトをローカル GIT リポジトリにダウンロードします。 /P>
あなたが開発者であれば、次の 2 つの理由からローカル マシンに GIT をインストールすることをお勧めします。 GIT リポジトリ。
システム管理者であれば、GIT をサーバーにインストールして、会社のすべてのソース コードを保持する中央リポジトリとして機能させることができます。ここから、開発者がプロジェクトをローカル GIT リポジトリにダウンロードし、変更を加え、完了したら中央リポジトリにチェックインできるようにすることができます。
GIT をどのように使用する予定であるかに関係なく、インストール手順と以下で説明する基本的なコマンドはまったく同じです。
1. GIT をダウンロードしてインストール
まず、ここから GIT をダウンロードします。または、以下に示すように wget を使用して直接ダウンロードします。
cd wget http://kernel.org/pub/software/scm/git/git-1.7.6.tar.bz2
次に、ダウンロードしたファイルを解凍します。
tar xvfj git-1.7.6.tar.bz2 cd git-1.7.6
最後に、デフォルトの構成オプションを使用して、以下に示すように GIT をインストールします。インストールをカスタマイズする場合は、「./configure –help」を実行して、利用可能なすべての構成オプションを表示します。
./configure make make install
2.初期設定
Git はデフォルトで /usr/local/bin にインストールされます。 GIT をインストールしたら、以下に示すように確認してください。
$ whereis git git: /usr/local/bin/git $ git --version git version 1.7.6 $ git --help.
最初のステップは、以下に示すように、「git config」を使用してユーザー名とメール アドレスを GIT リポジトリに指定することです。
git config --global user.name "GIT Admin" git config --global user.email [email protected]
以下に示すように、git 構成情報を確認します。
$ git config --list user.name=GIT Admin [email protected] core.repositoryformatversion=0 core.filemode=true core.bare=false core.logallrefupdates=true
この情報は、ホーム ディレクトリの下の .gitconfig ファイルに保存されます。
$ cat ~/.gitconfig [user] name = GIT Admin email = [email protected]
3.プロジェクトを作成
任意のローカル ディレクトリを GIT プロジェクト (つまり、リポジトリ) として作成できます。たとえば、プロジェクトが /home/ramesh/projects/passworddragon の下にある場合、それを GIT プロジェクトとして作成できます。まず、cd でそのディレクトリに移動し、以下のように git init を実行します。
$ cd /home/ramesh/projects/passworddragon $ git init Initialized empty Git repository in /home/ramesh/projects/passworddragon/.git/
これにより、プロジェクト フォルダーの下に .git ディレクトリが作成されます。以下は、.git ディレクトリの内容です。 GIT はこのディレクトリを使用して、変更の追跡方法に関する情報を保存します。
$ ls -altr .git total 40 drwxrwxr-x 4 git git 4096 Aug 13 22:39 refs drwxrwxr-x 4 git git 4096 Aug 13 22:39 objects drwxrwxr-x 2 git git 4096 Aug 13 22:39 info drwxrwxr-x 2 git git 4096 Aug 13 22:39 hooks -rw-rw-r-- 1 git git 23 Aug 13 22:39 HEAD -rw-rw-r-- 1 git git 73 Aug 13 22:39 description -rw-rw-r-- 1 git git 92 Aug 13 22:39 config drwxrwxr-x 2 git git 4096 Aug 13 22:39 branches drwxrwxr-x 36 git git 4096 Aug 13 22:39 .. drwxrwxr-x 7 git git 4096 Aug 13 22:39 .
注:あなたがシステム管理者で、開発者がプロジェクトをダウンロードできる GIT 中央リポジトリを作成しようとしている場合は、「git」というユーザー名を作成し、このアカウントですべてのプロジェクトを整理することをお勧めします。例:/home/git/project1、/home/git/project2 など。プロジェクトを整理したら、cd でプロジェクト ディレクトリに移動し、そこから git ユーザーとして「git init」を実行します。
4.プロジェクトにファイルを追加してコミットする
「git init」を使用してプロジェクトを初期化したら、「git add」を使用して、このプロジェクト ディレクトリにあるファイルを追加します。
プロジェクト ディレクトリにさまざまな種類のファイルがあり、GIT で特定の種類のファイルのみを管理する場合は、以下に示すようにそれらのみを GIT に追加します。この例では、*.java および *.c ファイルのみを追加します。
git add *.java git add *.c
通常、プロジェクト ディレクトリの下にあるすべてのファイルを GIT プロジェクトに追加します。 「git add .」を実行するだけで、現在のディレクトリ内のすべてのファイルとすべてのサブディレクトリが GIT プロジェクトに追加されます。
git add .
ファイルをリポジトリに追加したら、以下に示すように、それらのファイルをコミットする必要があります。
$ git commit -m 'Initial upload of the project' create mode 100755 PasswordDragon.java create mode 100755 pwm/ui/DataManager.java create mode 100755 pwm/ui/PasswordFrame.java create mode 100755 pwm/tools/StrongEncryption.java create mode 100755 pwm/tools/PasswordStrength.java ..
上記のように「git config」を使用してユーザー名とメール アドレスを指定しなかった場合、次のエラー メッセージが表示されます。
$ git commit -m 'Initial upload of the project' *** Please tell me who you are. Run git config --global user.email "[email protected]" git config --global user.name "Your Name" to set your account's default identity. Omit --global to set the identity only in this repository. fatal: empty ident not allowed
5.ファイルを変更してコミットする
GIT をインストールし、プロジェクト リポジトリを作成し、すべてのファイルを GIT プロジェクトにコミットしました。
ここで、ファイルに変更を加えてリポジトリにコミットします。
vi PasswordDragon.java
ローカルでファイルを変更したら、変更を表示できます。つまり、ローカル コピーと、以下に示すように「git diff」を使用して GIT プロジェクトで既にコミットされているコピーとの違い。
$ git diff diff --git a/PasswordDragon.java b/PasswordDragon.java index 6166ed1..fd82d32 100644 --- a/PasswordDragon.java +++ b/PasswordDragon.java @@ -2,7 +2,7 @@ - public counter=10 + public counter=55
変更を加え、変更を確認し、満足したら、ファイルを GIT リポジトリにコミットできます。これは 2 段階のプロセスです。まず、ファイルをステージング領域に追加し、以下に示すように GIT プロジェクトにコミットする必要があります。
git add PasswordDragon.java
コミットを実行すると、デフォルトのエディターが開き、コメントを入力できます。コメントを保存してエディターを終了すると、ファイルが GIT プロジェクトにコミットされ、次のメッセージが表示されます。
$ git commit [master 80f10a9] Added password strength meter functionality 1 files changed, 56 insertions(+), 7 deletions(-)
注:「git commit -a」を実行することもできます。これにより、追加とコミットが同時に行われます。
6.ステータスとコミット ログの表示
ローカル リポジトリから「git status」を実行すると、現在のステータスが表示されます。ローカル コピーが変更されていない場合 (またはすべてのファイルがコミットされている場合)、次のメッセージが表示されます。
$ git status # On branch master nothing to commit (working directory clean)
ファイルに変更を加え、まだコミットしていない場合は、次のメッセージが表示されます。
$ git status # On branch master # Changes not staged for commit: # (use "git add ..." to update what will be committed) # (use "git checkout -- ..." to discard changes in working directory) # # modified: PasswordDragon.java # no changes added to commit (use "git add" and/or "git commit -a")
以下に示すように、ファイルの履歴を表示することもできます。
$ git log PasswordDragon.java commit c919ced7f42f4bc06d563c1a1eaa107f2b2420d5 Author: GIT Admin Date: Sat Aug 13 22:54:57 2011 -0700 Added password strength meter functionality commit c141b7bdbff429de35e36bafb2e43edc655e9957 Author: GIT Admin Date: Sat Aug 13 20:08:02 2011 -0700 Initial upload of the project