Git
スポンサーリンク

Gitはバージョン管理システムで、ソースコード(ファイル)を効果的に管理・共有できるため共同開発の際などには重宝します。

Githubは、Gitを使ったチーム開発を便利にするWEBサービス(Gitホスティングサービス)です。自分のコードを提案し、レビューされます。

SourceTreeはGitを直感的に操作できるソフト。

この記事では非常に基本的なGit・Github・SourceTreeの知識をまとめております。

用語の意味

リポジトリ

ファイルやディレクトリ(フォルダ)の状態を記録する場所。リモートリポジトリとローカルリポジトリがある。(貯蔵庫)

 

リモート(中央)リポジトリ

共有するためのリポジトリ。自分が変更・修正したローカルリポジトリの内容をココにアップロード(Push)する。GitやBitbucket、社内サーバーなどに置かれる。

 

ローカルリポジトリ

それぞれのユーザーが作業するリポジトリ。リモートリポジトリの内容を元に(Pull)変更・修正する。

ローカルリポジトリを作成するには、

  • 全く新しく作成するか
  • リモートリポジトリをコピーする

 

コミット

ファイルやディレクトリの追加・変更をリポジトリに記録するための操作。コミットメッセージを残すことでどのような追加・変更を行ったのか共有できる。

 

リビジョン

前回コミットした時の状態から現在の状態までの差分を記録したもの(コミットを実行するとリビジョンが表示される)

 

ワークツリー

Gitの管理下に置かれた、ユーザーが実際に作業しているディレクトリやファイルのこと。

 

コンソール

コンピュータの入出力装置(=ターミナル)

 

インデックス

ワークツリーでユーザーが実際に変更等した内容を(ローカル)リポジトリにコミットする準備をする場所

コミットでファイル等の状態を記録するには、インデックスにファイル等を登録する必要があります。

 

エイリアス

別名のこと。

 

ブランチ

分岐して履歴を記録するもの(木の枝のような)

 

masterブランチ

リポジトリに最初のコミットを行った時に作られるブランチ

 

 

統合ブランチ

リリース版が何時でも作成可能な状態のブランチ。ココからトピックブランチを作る。masterブランチを統合ブランチにする場合が多い。

 

 

トピックブランチ

機能追加・バグ修正などを行うために統合ブランチから作られるブランチ。

 

チェックアウト

現在作業中のブランチから出て、他のブランチに移動すること。
(指定した時点のデータを作業ディレクトリにロードできる)

 

HEAD

現在作業中のブランチの先頭のことを言う。

 

 

stash

一時的に変更内容を退避させること。

*急遽他のブランチで作業したい用事ができた時に、現在のブランチ内の変更内容を「とりあえず置いておく」みたいなこと

 

fast-forward(早送り)マージ

以前から変更のないmasterブランチにトピックブランチをマージすることを言う。

*non fast-forwardマージでブランチを残したまま新しくマージコミットを作成して合流させることも可。

 

 

rebase

トピックブランチをmasterブランチに統合する際、履歴を一本化するやり方。

 

タグ

コミットを参照しやすくするためにつける名前

 

プルリクエスト

自分のローカルリポジトリの変更を他のユーザーに通知する機能

 

集中型

ひつのリポジトリ に接続してみんなで使う。全ての操作はネットワークに接続した状態で行われ、コミットは即時、中央リポジトリに反映される。
ex)CVSなど

 

分散型

各自のPCにリポジトリを持ち(中央リポジトリを各自のPCにクローンしてきて)、好きなタイミングで中央リポジトリと同期する。ネットワークに接続する必要はなく、各自のPCで過去に戻せる。
ex)Gitなど

 

フォーク

他人がGithubで公開しているリポジトリを自分のアカウントにコピーすること。

 

 

クローン

リモートリポジトリをローカルリポジトリ(自分のパソコン)にコピーすること。

 

 

 

 

主要コマンド

 

コミットIDの取得

コミット番号右クリックで「〜をコピーします」クリック。

 

過去に戻ってブランチを作成し作業をやり直す

例えば、「被害者名」まで戻り、そこから新たなブランチをはやしたいとします。

1.「被害者名」にチェックアウト
2.ブランチアイコンから新規ブランチ作成
3.この状態で新しくコミット

過去に戻って作業をやり直したい→そこにチェックアウトしてブランチはやす

 

 

過去の特定のコミットを無かったことにしたい(リバート)

追加した被害者が間違っていたから、内容を打ち消して無かったことにしたい。

右クリックで「コミット適用前に戻す」でOK

 

コミットを1つにまとめる(スカッシュ)

push前のみ有効な方法

「デマの報告」と「誤字修正」を一つにまとめたいとする。

1.「デマの報告」の直前のコミットで右クリック
2.「〜対話形式でリベース」

3.「過去を含めてスカッシュする」→「OK」

これでまとまります。

 

不要になったブランチの削除

ブランチ右クリックして「削除」でOK

 

直前のコミットメッセージを修正(push前に限る)

[コミット]→[コミットオプション]→[直前のコミットを上書き]

 

未コミットのファイルを一時退避する(スタッシュ)

このような、コミットしてない変更がある場合は、他のブランチにチェックアウト出来ない。

その場合は、コミットかスタッシュする必要がある。

1.[スタッシュ] 2.メッセージ入力

すると[スタッシュ]からスタッシュされた内容が確認できます。

別のブランチにチェックアウトもできます。

スタッシュしていた作業の続きをやるには、任意のスタッシュを右クリックし、「退避した変更を適用」

これで元に戻ります。

 

 

別のブランチから特定のコミットのみを取り込む(チェリーピック)

そのコミットを取り込みたいブランチに移動し、任意のコミットを右クリックで[チェリーピック]

チェリーピックはあくまで別のブランチのコミットをコピーしてくるだけ。別のブランチにはまだコミットが残っている。消すならリバートしよう。

Swift(iOS)が学べるオンラインスクール ランキング
CodeCamp
CodeCamp
7〜24時まで授業可能で働きながらでも学べる!!
料金
講師の質
コースの種類
転職サポート
ポイント1エンジニア経験2年以上のベテラン講師によるオンライン授業
講師は全員が現役のエンジニアで、他のスクールによく見られるアルバイト講師ではありません。マンツーマン指導で自分のレベルにあったカリキュラムが組め、満足度も高いです。また、自社開発企業への転職指導にも定評があります。

ポイント2無料レッスン体験&無料受講相談で事前に話が聞ける
事前にレッスンを体験して授業の雰囲気や学習ペースを確認できます。またエンジニア転職を目指す方にはどのコースが向いているかなどが聞けるカウンセリング(受講相談)も無料。エンジニアの生の声が聞けるので自分が働き出した時のことをイメージできます。

TechAcademy

授業型ではなく自習型なので自分のペースで学べる
料金
講師の質
コースの種類
転職サポート
ポイント1自習スタイルでチャット質問は何回でも無料
自分の分からないところを質問するスタイルなのでわかるところはサクッと、わからないところはじっくりと、無駄なく学べます。チャットの質問が無料なので、料金を気にせず何回でも聞けます。また、メンターがつくのでカウンセリングで学習の進捗やモチベーションの管理もしてくれます。
ポイント21週間の無料体験と無料カウンセリング、安心の返金制度も
無料体験の期間は1週間もあり、納得してから契約できるので安心です。事前の無料カウンセリングでは、その人にあったアドバイス等をもらうことができるので気軽に活用しよう。転職保障コースの場合、転職できなかったら全額返金!!
侍エンジニア塾
プログラミングスクールの老舗NO.1
料金
講師の質
コースの種類
転職サポート
ポイント1歴史があるからノウハウも豊富
日本で初めてオンラインのマンツーマンレッスン指導を導入した実績十分のスクール。講師も現役エンジニアでメンタリングもあるため転職のサポートも手厚く、面接対策や自己PRのフィードバックまで対応してくれます。

ポイント2転職成功率94.1%、挫折率8%
コースによっては転職成功で受講料が0円に!!  絶対にエンジニアになりたいという意思があれば超低額で転職できます。事前の無料体験で相談も可能なため、まずは話だけ聞いてみるのもあり。

おすすめの記事