Pocket

gitの使い方をブログしていないなと思い、それにGitLabもハマったのでブログしていきます。このブログを読んで、
「クローンからプルしてマージ、コミットしてプッシュする」の意味が分かるようになって頂ければ幸いでございます。早速概念からいきませう。

git


 ■共有リポジトリとは

まずは運用するときに共有リポジトリを理解しないとダメなので。。
これは複数人でリポジトリを共有して開発を行うときに、
開発者全員が参照し、開発の元になるリポジトリのこと。
は!?と思いますが簡単に言うと、
ファイルの倉庫です。イメージはこんな感じ。じゃあGitって?

ripo


■Gitとは

バージョン管理システムのこと。
そもそもバージョン管理システムってなんなのよ・・・(・∀・汗)
サービスができるまでプログラムは一度開発して終了〜乙でした!!
んなわけがありませんよね。
改善されたり機能の追加などたくさんの更新があるわけです。
で、うっかりバグが出ちゃった場合、バージョン管理があれば前のプログラムに戻せるのです。
簡単に言うと
「プログラムの修正や追加など、更新するたびに、ソースコードの状態を日時やコメントと一緒に記録する」
と言った感じです。複数人いる会社は非常に役に立つのかと。

git2

 


■Git用語について

・commit(保存)

Git管理しているプログラムの更新を確定、記録させること。

・clone(コピー)

リポジトリを複製すること。

リポジトリの中身を、丸っと手元に持っていく。Githubに置いてあるのもOK。

・branch(オブジェクトの集まり)

Gitでの履歴を分岐させて記録していくためのオブジェクト群。

同じリポジトリ内で、複数の変更を同時に進めていくことができる。

・checkout(切り替え)

作業するbranchを、今作業中のものから別branchに切り替える時に利用。

移動先のbranch内の最後のcommitの内容が作業場所に展開される。

・push(反映)

ローカルにあるリポジトリの中身を、

別のリポジトリに送り、そのリポジトリ上に反映させること。

自分が開発したものを、push先のリポジトリを通じて共有させる。

・pull(取り込み)

リモートリポジトリの更新部分を自分のリポジトリに取り込み、

さらに現在checkoutしているbranchに対してマージ(融合)すること。

他のリポジトリの中身を,ローカルのリポジトリに持っていける。

git3


■Gitlabとは

gitlab

Gitlabとはなんなのか。狐なのか猫なのか分かりませんが、GitHubありますね!

github

プログラムをネットで共有して使ったりコメントしてもらったりなど。
それのローカル版オープンソースです。社内のみでプログラム共有しようじゃないかというイメージ。GitHubも似たようなdeveloper版とかあるみたいで使ってる会社も多いはず。


■GitLabを使ってgitコマンドを駆使する

とりあえずユーザ作ったらSSHKey(公開鍵を登録する)
今回はMac(ローカル内)でやります。
gitコマンドはbrew install gitで。
Homebrewのダウンロード方法はこちら

1.鍵の作り方/.sshのconfig追加

パスフレーズとかいらない。エンター押しまくる。

でけた。
configファイルの設定は鍵を名前指定して作っていなければ設定しなくてもOKです。
今回はgitlabという名前なので、

※Host名は必ずドメイン名と同じにしましょう。pushができないので。

2.gitlab.pub(公開鍵)を貼り付け

プロフィールにSSHKeyという項目があるので貼り付けします。

sshgit

 

3.新規にプロジェクトを作成

newprp

作成するとMacでこんなのをやれと言われるので、上から順にコマンド実行しましょう。

gitlabmac

とりあえず今回はREADME.mdをpushしました。
これでプロジェクトにファイルが追加されているかと思います。


 ■そのほかのGitコマンド(少し紹介)

・gitの状況確認、エラーとかも表示される/変更したものを差異を確認

・ローカルに追加した使わなくなったファイルを一括消去

・よく使うgitコマンド(masterに直接pushするまで)

・ブランチを作成し、プルリクエストを出すまで

・その他 wiki.adachin.meを参考に

https://wiki.adachin.me/archives/category/git


■まとめ

gitは使ってると奥深くてむずい。。今回はGitLabの方法でしたが、GitHubも変わりません。今回は基礎的な部分を紹介したので、次回はよく使うgitコマンドをブログしたいと思います。

参考資料:http://tracpath.com/bootcamp/learning_git_firststep.html
http://gihyo.jp/dev/serial/01/hackgirlsgit/0002

Pocket

カテゴリー: git

adachin

1989年生まれのSRE。ホスティングから大規模なアドテクなどのインフラエンジニアとして携わる。現在はサービスの信頼性向上、DevOps、可用性、レイテンシ、パフォーマンス、モニタリング、オブザーバビリティ、緊急対応、AWS/Azureでのインフラ構築、Docker開発環境の提供、Kubernetes保守、インフラコード化、新技術の検証、リファクタリング、セキュリティ強化などを担当している。個人事業主では数社サーバー保守とベンチャー企業のSREインフラコンサルティングやMENTAで未経験者にインフラのコーチング/コミュニティの運用を実施している。また、「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。

0件のコメント

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください