[Git] ざっくりGit

超絶簡単に最短でざっくりとGit管理を始めます。
まぁ、細かい機能だったりは、後で覚えてくだせ。

このGit解説はこんな方を前提としております。

  • いいかげんコピペでバックアップも辞めようかな。
  • バージョン管理の使い方覚えるのも、設定するものめんどくさい。
  • linuxにsshにパスワードでログインでき、rootにはなれる!
  • 使いながら覚えればいいと思う。
  • 公開鍵暗号方式とかshell権限とか、後で考える。
  • 習うより、覚えるより、慣れろ。
  • 俺がWindowsだ。

 

さて、始めます。

今回は、中央管理型の超簡単な作り方がメインです。
中央管理型の内容はコチラが参考になります。

環境は、以下のとおり。

  • サーバー:CentOS 6.5
  • クライアント:Windows 7 64bit

 

最低限の言葉の説明をしておきます。

  • リポジトリ:ソースコードやドキュメントとかを管理する貯蔵庫?
  • ローカルリポジトリ : 普段使う開発マシンとかにおかれるリポジトリ。
  • リモートリポジトリ: 皆で共有で使えたりするリポジトリ。今回はCentOSのサーバーに置く。

 

主なステップ

  1. リモートリポジトリを作る
  2. ローカルリポジトリを作る
  3. Indexからのコミットからのプッシュ

 

リモートリポジトリを作る

まず、リモートリポジトリを作ります。

CentOS上のyumでgitをインストールします。

#yum install git

次に、リモートリポジトリ等を置くディレクトリを作ります。名前も場所もどこでも良いです。
私は、/var/git_repos/ とvarの下にディレクトリ作りました。

#cd /var
#mkdir git_repos

次に1つのリモートリポジトリとなるディレクトリを作ります。

名前に決まりは無いのですが、慣習的に後ろに.gitとつけるようです。

#mkdir gomocool.git

そして、このままではgitリポジトリにrootしか書き込めないので、権限を変えます。

#chown taro gomocool.git

ちなみに、ここで、グループ名をmyteamとかにすると、複数ユーザーでgit使いたいときにこのグループに入っている人だけアクセスできることになる。はず・・・。

#chown taro:myteam gomocool.git

次です、リモートリポジトリを初期化しておきます。

まず、このときは、先ほど作ったリポジトリディレクトリの権限のユーザーになります。
そして、さきほどのリポジトリディレクトリに移動して、initします。

$cd gomocool.git
$git init --bare

すると、
Initialized empty Git repository in /var/git_repos/gomocool.git/
といった感じのメッセージがでて、空のリポジトリとして初期化されます。

これで、サーバー終わりです。

 

ローカルリポジトリを作る

次に、クライアント側です。

私は、Windowsユーザーな上に、もの覚えも良くないので、黒い画面は嫌いではないが得意ではないです。
なので、SourceTreeという超有能なフリーソフトを使います。

まずは、ココから落として下さい。

インストール

落としたインストーラーを実行します。

「Gitがインストールされてないっぽいから、SourceTree内蔵のGitダウンロードして使うよ。」の一番上を選ぶ。

sourcetree_inst_cap_1

「Mercurialがインストールされてないっぽいから、SourceTree内蔵のMercuriaダウンロードして使うよ。」の一番上を選ぶ。
今回はGitしか使わないので、一番下の「使いたくない」でもいいだけど・・・。

sourcetree_inst_cap_2

そしたら、初期設定。
ユーザー名とアドレスを入力する。これは、だれがコミットしたかを記録するため。

sourcetree_inst_cap_3

次に、global ignore file 作りますか?って聞かれるのでYesとしておく。

sourcetree_inst_cap_4

次に、SSH Client が・・ってあるので、そのままNext。

sourcetree_inst_cap_5

次は、SSH Key をロードするか?って聞かれるので今回はNo。

sourcetree_inst_cap_6

最後に、ホスティングサービスを登録するんだけど、今回はそういうの使ってないのでFinish!

sourcetree_inst_cap_7

これで、インストールが完了。

 

さて、次は先ほど作った空のリモートリポジトリをクローンする。

“新規 / クローンを作成する” ボタンからウィンドウを立ち上げ、”元のパス/URL”に、sshパスを入力する。(*多分、この辺りでSSHのパスワード聞かれる。)
ssh://ユーザー名@サーバーホスト名/var/git_repos/gomocool.git といった形になる。(*画像のnetの後ろの縦棒はただの入力フォーカスです。^^; )
sourcetree_inst_cap_8

うまく認識されると、リポジトリタイプ:の部分が”これはGitリポジトリです”となる。
次に、保存先のパスだが、これは空のディレクトリを作っておき、そこを指定する。(以降、作業フォルダと呼ぶ)
既にソースがあるディレクトリを指定する方法もあるんだけど、それはちょっとやり方違うので自分で調べてくださせ。

ブックマークの名前が保存先のパスの最後の名前になるので、自分でわかり易い名前に変えます。

そして、クローンを押します。

すると、先ほどの空のリポジトリを、作業フォルダにまるごとコピー(クローン)します。
まぁ、リモートリポジトリが空なので当然何も入ってませんが、隠しファイルで.gitが作成されています。

sourcetree_inst_cap_9

これで、ローカルリポジトリの完成です。

 

Indexからのコミットからのプッシュ

次に、この作業フォルダになんやかんや入れます。

sourcetree_inst_cap_10

すると、ファイルステータスタブの作業ツリーのファイルウィンドウに、入れたものが出てきます。

これを選んで、Indexに追加する。test.htmlみたいなちょっと作ったけど必要じゃないものとか、ローカルマシンの開発環境用のファイル等は、Indexに入れません。

sourcetree_inst_cap_11

管理したいファイルを選んだら、コミットします。
コミットメッセージと書いてある部分をクリックして、コミットのメッセージを入れて、コミットを押します。
ちなみに、左上にあるコミットボタンを押しても、同様にコミットを行うウィンドウが立ち上がります。

sourcetree_inst_cap_12

sourcetree_inst_cap_13

コミットを行うとログタブに、コミットの履歴がでます。

次に、このままでは、ローカルリポジトリをゴニョゴニョしているだけで、リモートリポジトリには何にも行かないので、プッシュを行います。

sourcetree_inst_cap_14

プッシュボタンを上のツールバーからクリックします。

恐らく、最初はプッシュ対象という部分のチェックボックスがついてないと思うのでチェックしておきます。
その後、OKボタンを押せばプッシュ完了です。

 

以上です。

 

あとは、編集して、Indexコミットプッシュ の流れとなります。

そして、他のマシンで使いたいときは、最初にSourceTreeで設定したようにクローンを行えば、プッシュされた最新のデータが落ちてきます。

クローンした後に、他のマシンでプッシュされたデータを差分で更新する場合は、プルを押せば、最新のデータが落ちてきます。
戻したり、消したり、マージしたりはSourceTree使い方とかで検索して覚えて下さい。
また、今回はセキュリティ的には少し脆弱です。気になる方は、Gitで公開鍵やGit用シェル等で調べて下さい。
もちろん、大規模なGit管理などは、先に色々調べる必要がありそうですが、個人や数人の小規模レベルなら、使いながら学ぶもありなのでわ・・!?

 

 

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>