LoginSignup
2
2

More than 3 years have passed since last update.

Gitの基礎知識

Posted at

はじめに

「Gitとは?」という人に説明するときに使う内容を記載した。
SVNユーザに説明することが多いのでSVNユーザ視点で表現している箇所がある。
コマンドはこちらの逆引きを参照

参照サイト

概念


図を作成中です。

なぜGitを使うのか

  • ローカルリポジトリに気軽にcommitできる
    • ローカルにcommitしても他の作業者に影響がない
    • 定時で帰るときに仮でcommitできる
    • 割り込み作業が入ったときに自分の作業中のファイルを退避(commit)し、すぐに戻せる
    • commit間違いを取り消せる
    • 一つの対応で複数回に分けてcommitしたものを一つのcommitにまとめて綺麗な履歴にできる
  • 作業ごとにブランチを分けやすい

用語説明(概念)

概念 説明
リモートリポジトリ サーバのリポジトリ(svnのサーバのイメージ)
ローカルリポジトリ サーバのリポジトリを履歴ごとローカルにコピーしたもの(※git独自のもの)
作業領域(WORKING DIRECTORY) ローカルリポジトリで作業中のブランチのファイルの状態(実際に編集するファイルシステムを概念としたもの)
ブランチ 履歴の分岐のこと。gitではすべてブランチと呼び、svnのtrunkとbranchをgitではどちらもブランチと呼ぶ。
マスターブランチ 開発の本流のブランチ。svnのtrunkに相当する。
※最初にpushしたブランチ名がmasterブランチになるので注意
トピックブランチ 作業単位でブランチをつくる運用
git-flow リリース用ブランチやホットフィックスなど用途に合わせてブランチを用意する運用(Vincent Driessen氏提唱)
GitHub/BitBucket Gitのサーバ機能をクラウドで利用できるサービス
GitLab/GitBucket Gitのクラウドサービスを社内のサーバなどにインストールできるように作成されたもの
pull request or merge request GitLab/GitBucketなどでサーバー上でmergeの操作を要求する機能
インデックス or ステージ コミット対象のファイルを登録する場所

用語説明(command)

command 説明 用途
git clone リモートrepositoryからチェックアウト 最初にリポジトリを取得するとき
git add commit 対象を追加(staging) コミットするファイルの選択時
git commit ローカルrepositoryにコミット 実際にコミット
git push リモートrepositoryに送る コミットしたものをサーバにアップロード
git fetch リモートrepositoryをローカルrepoに同期 リモートの状態を知りたいとき(ソースは持ってこない)
git pull(fetch + merge) リモートrepositoryをローカルに持ってくる ローカルソースを最新化したいとき
git merge 2branch間のマージ masterの最新状態を作業中のブランチに取り込むとき
git checkout ブランチ切替(SVNと意味が違うので注意) カレントのブランチの向き先を変更したいとき

Gitクライアント

GitExtensions GitKraken Sourcetree GitHub Desktop
コミッタ 名前表記(アイコン連携あり) アイコン表記(アイコン連携あり) 名前表記 名前表記
環境 Windows Windows, Mac, Linux Windows, Mac Windows, Mac
Free? 無償 基本無償(有償版あり) 基本有償(評価版あり) 無償
ユーザ登録 不要 必要 必要 不要
日本語 日本語対応なくなった なし なし なし
UI わかりやすい わかりやすい ちょっとくせあり みづらい
マージツール KDiffインストールされる マージ機能あり(めっちゃ使いやすい) 外部呼出し マージ無理
prefix フラット表示 階層表示 階層表示 フラット表示
git-flow機能 なし あり あり なし
提供元 個人 GitKraken Atlassian GitHub

GitExtensions

  • 編集中ファイルありの表記が正しく動作しないことがある
    • 再起動すると直ることもある

Sourcetree

  • ローカルブランチとリモートブランチ見づらい(同じ色)
  • 邪魔なアラートが出る
    • インストール時Mercurialを探す
    • サーバキーの受け入れ?なにそれ
  • マージは外部ツールが起動される(たまたまKDiffが入ってたので起動された)

GitHub Desktop

  • そもそもログのマップ見れない?
  • マージ無理ぽい

GitKraken

  • UIは一番いい感じ
  • privateのリポジトリを見ようと思うと有料

Gitのインストールしてリポジトリ取得するまで

  1. Gitクライアントをインストール
  2. GitBashを起動
  3. ssh-key作成
    1. Gitクライアントでssh-keygenを実行
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2