今後、開発に携わる方は、もはや必須かもしれません。
という事で、GitとGithubを理解しようという事で、基本的な内容を記事にしてみました。
最初に必要となる環境については、記載する内容で出来上がります。
社内の閉じられた環境で、セキュリティや自社開発を重んじる企業もまだあると思いますが、今後は嫌でも開発の速度は上がっていくと思います。
非常に便利でありますが、昔ながらの会社では、外部で作成されたものを利用したりすることは、ポリシー上許されていないところもあると思います。
(そもそもその考え自体がナンセンスではあるのですが、日本の古くからの伝統があるところは厳しい)
要は、外部のワケわからないものを利用して大丈夫なのかと、お堅い古くからの企業では根強い発想が残っているんですね。
とは言え、これからクラウドの利用が主流となり、開発のスピードも速くなってきているので、どんどん外部のノウハウは利用するべきという考え方は遅かれ早かれ辿り着くと思います。
あらゆる開発ベンダーとの協業をしながら進めていくこともあると思うのでそう考えれば、使わない手はないはずなんですよね。
身軽な開発ができることがメリットでもあり、オンラインでプロジェクトを組んでと言う開発が主流になります。
従来であれば、開発にはCVSやSVNと言うリポジトリツールを利用していました。
これは、閉じられた環境で、バージョン管理をするには優れた代物でした。
集中型リポジトリという方式です。
しかし、閉じられた世界だけでなく、外部で開発されたものもうまく利用し、良いところを利用し、管理できるような仕組みが出てきました。
それがgitであり、外部との連携に利用されるサービスがgithubです。
gitはSVNらと対比して、分散型リポジトリと言う方式になります。
git
git config ~global user.name ユーザー名
git で使われる言葉は下記の通りです。
絵と合わせて徐々に覚えていけばいいと思います。
使っているうちに、なんとなく当たり前になっていく感じです。
抑えておくべき用語
git とgithubを利用する際に、下記の用語は最初に抑えておくべきだと思います。
簡単な図にしていますが、どのような処理を行うのか、イメージしながら操作するとわかるかもしれません。
なお、以前CVSやSVNを利用している方であれば、イメージは掴みやすいかと思います。
名前 | 意味・内容 |
リポジトリ | データを保存する場所。バージョンの管理されている場所。修正履歴も管理されている。 |
リモートリポジトリ | サーバにあるリポジトリ。サーバ上にあり、ユーザで共有して利用する。 |
ローカルリポジトリ | 各ユーザのローカルで利用するリポジトリのこと。 |
クローン | リモートリポジトリを複製して作成すること。 |
ブランチ | 主流から枝のように分岐させて管理するもの。このブランチでの修正は、他のブランチに影響を受けない。 |
チェックアウト | 他のブランチへ移動し、作業ディレクトリを任意のコミット状態にすること。 |
コミット | 修正内容をローカルリポジトリに反映し確定すること。 |
プッシュ | ローカルリポジトリ側の修正内容をリモートリポジトリ側へ反映すること |
プル | リモートリポジトリ側の修正内容をローカルリポジトリ側に反映すること |
マージ | 異なるブランチの修正内容を反映すること。なお、マージ先にもマージ元にも変更履歴は残る。 |
コンフリクト | マージの際に、リモートとローカルで同じファイルの同じ箇所に対して修正がされており、自動でマージできないこと。両方の修正を合わせた内容に手動で編集する必要がある。 |
git 最初に実行する手順
gitを利用するイメージは下記の通り。
上記の図に合わせて最初に実行するべき内容は下記の通り。
①git init の実施
リポジトリに必要なファイルが格納されるディレクトリを作成する(.git )
②git remoteの実施
設定するリモートリポジトリ名の指定 (リモートリポジトリのURL)
③git add
自分の作業ディレクトリ内のファイルをステージングエリアへステージングする
git add -all で全てのファイルを指定
④git commit
ステージングしたファイルをローカルリポジトリへ登録
※初回でmaster ブランチが作成される。
git branch で確認
⑤git push
リモートリポジトリへプッシュする
※リモートリポジトリから、ローカルリポジトリへ複製したい場合はクローンコマンドの入力をする。
git clone リモートリポジトリのURL
初期利用のコマンドは上記となる。
今では、このgithubを利用したファイルの管理を外部の方達との連携で利用することがほとんどです。
dockerで利用するdockerhub も、githubの認証で利用を行えます。
開発に関わる方は、最近では利用する場面が増えていきていると思いますので、粗いですが、初期に利用する部分を記事にしてみました。
随時、時間のある時にアップデートして行く予定です。
画像は後で。