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

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するまで)

・その他gistで管理

 


■まとめ

gitは使ってると奥深くてむずい。。
今回は基礎的な部分を紹介したので、
次回はよく使うgitコマンドをブログしたいと思います。

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

The following two tabs change content below.

あだちん

1989年生まれ。 ランサーズ/SRE。 ホスティングから大規模なアドテクなどのインフラエンジニアとして携わり、ランサーズにてサーバ系のお仕事も副業で行い、他社インフラレスポンス改善、ansibleでのインフラコード化を推進し、未経験によるエンジニア勉強会なども実施している。 そして「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/広報/VulsRepo init file,chatwork通知のコントリビュータでもある。 現在はDocker開発環境の提供,AWSで新サービスのインフラ構築,PHPバージョンアップ,分析基盤を担当しておりDigdag,embulk,BigQueryを使いこなそうと奮闘中。

コメントを残す

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