1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Gitリポジトリの取得について git init || git clone

Last updated at Posted at 2023-10-25

記事の目的

  • "git init"の"git clone"違いについて記載
  • Gitプロジェクトを始める方法について記載
  • Pro Gitを基に記事を作成しました。
  • 後ほど記事の改修しやすいように元の記事から分離しました。

本文

Gitプロジェクトを取得する方法(2通り)

  • 既存のプロジェクトやディレクトリをGitにインポートする方法 "git init"
  • 既存の Gitリポジトリを別のサーバーからクローンする方法 "git clone"

既存のディレクトリでのリポジトリの初期化 "git init"

既存のプロジェクトをGitで管理し始める時は、そのプロジェクトのディレクトリに移動して次のように打ち込む。

$ git init

これを実行すると、 .git という名前の新しいサブディレクトリが作られ、リポジトリに必要な全てのファイルがその中に格納されます。
これを実行した時点ではプロジェクト内のファイルは一切監視対象になっていない。
すでに存在するファイルのバージョン管理を始めたい場合は、そのファイルを git add コマンドを実行した後で git commit コマンドを実行すればいい。

$ git add readme.txt
$ git add LICENSE
$ git commit -m 'initial project version'

この時点で、監視対象のファイルを持つGitリポジトリが出来上がり最初のコミットまですんだ。

既存のリポジトリのクローン

  • 既存のGitリポジトリのコピーを取得できるコマンドが git clone
  • "checkout"ではなく"clone"なのは、Gitは一部だけをコピーするのではなくてサーバーが保持しているデータをほぼ全てコピーするから。(全てのファイルの全ての歴史も)
    仮にサーバーが壊れても、どこかのクライアントに残っているクローンをサーバーに戻せば復元できる。
  • リポジトリをクローンするには git clone [url] とします。
  • 例えばGitライブラリ sample をクローンする場合は次のようになる
$ git clone https://github.com/sample/test

これは、まず test というディレクトリを作成してその中で、Gitを初期化し、リポジトリの全てのデータを引き出し、そして最新バージョンの作業コピーをチェックアウトします。
新しくできた test ディレクトリに入ると、プロジェクトのファイルを見れます。

もし test ではない別の名前のディレクトリにクローンしたい場合

コマンドラインオプションでディレクトリ名を指定できます。

先ほどと同じ処理をしますが、ディレクトリ名は mytest になる
$ git clone https://github.com/sample/test mytest
  • Gitはさまざまな転送プロトコルを使用することができる。

以降、例で使うGitライブラリは多言語へのバインディングが可能な"libgit2"をクローンしたものとします。

$ git clone https://github.com/libgit2/libgit2

参考文献

Gitについてのリンク

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?