LoginSignup
0
0

More than 5 years have passed since last update.

GitHub - Gitの操作 #3

Last updated at Posted at 2019-03-03

基本的な操作

  • git init
    リポジトリを初期化
    .gitディレクトリに管理するリポジトリデータが格納される。
    この初期化したディレクトリ以下をワークツリーと呼ぶ。
  • git status
    リポジトリの状態を確認
  • git add
    ステージ領域へファイルを追加して、Gitリポジトリのバージョン管理の対象にする。
  • git commit
    ステージ領域のファイルを、リポジトリの歴史を記録
    git commit -am "{メッセージ}"
    add + commit を一回で行える
// 1行のコミットメッセージ
$git commit -m "{メッセージ}"

// 詳細なコミットメッセージ
$git commit 
// フォーマット
1 変更内容の要約
2 空白
3 理由や詳細を以下に記述
  • git status
    現在のワーキングツリーの状態を確認
  • git log
    コミットログを確認
// コミットメッセージの1行目のみ
$git log --pretty=short

// 指定したディレクトリ、ファイルのも
$git log {ファイル名}

// ファイルの差分を表示
git log -p {ファイル名}
  • git diff
    ワークツリー、ステージ領域、最新コミット間の変更差分を確認
// ワークツリーとステージ領域
$git diff

// ワークツリーと最新コミットの差分
$git diff HEAD  // HEADは、作業ブランチの最新のコミットを参照するポインタ

ブランチの操作

  • git branch
    ブランチを一覧表示
    現在のブランチを*で確認
  • git checkout -b {ブランチ名}
    ブランチを作成し、切り替える
// ブランチの切り替え
$git checkout {ブランチ名}

// 1つ前のブランチに切り替える
$git checkout -
  • トピックブランチ、統合ブランチ
    トピックブランチとは、1つのテーマに集中して、他の作業は一切行わないブランチのこと。
    統合ブランチとは、トピックブランチの中心(分岐元、併合先)となるブランチ。
  • git merge
    ブランチをマージ
$git checkout {マージ先}
// --no-ffを付けてマージコミットを作成する
$git merge --no-ff {ブランチ名}
  • git log --graph
    ブランチを視覚的に確認する

コミットを変更する操作

  • git reset
    歴史を戻る
$git reset --hard {戻りたい状態のハッシュ値} // ハッシュ値は初めの4文字以上あれば動作する

// リポジトリでの作業のログを確認する
$git reflog
  • git commit --amend
    直前のコミットメッセージを修正する
  • git rebase -i
    使用例
    間違えがあるコミット:commitA
    修正を加えたコミット:branchB
    この二つを統合して一つのコミットにする
$git rebase -i HEAD~2
// 以下が表示されるのでpickをfixupに変更することでcommitAにすべて統合される
pick {ハッシュ値} commitA
pick {ハッシュ値} commitB → fixup {ハッシュ値} commitB

リモートリポジトリへの送信

1.GitHubでリポジトリを作成する
2.ローカルリポジトリで、以下のコマンドでリモートリポジトリを登録する
 originは、以降リモートリポジトリを指す。

ローカルリポジトリ
$git remote add origin {リポジトリのパス}

3.リモートリポジトリ(origin)のmasterブランチへ送信する
 -uは、ローカルリポジトリのupstreamはoriginのmasterブランチであることを示す。これにより、git pullでの設定を省略可能。

ローカルのmasterブランチ
$git push -u origin master

リモートリポジトリから取得

すでにリモートにあるリポジトリを取得する

$git clone {リモートリポジトリのパス}

// リモートリポジトリも含んだブランチ情報の表示
$git branch -a
// リモートのブランチをローカルで取得する
$git checkout -b {ブランチ名} origin/{ローカルのブランチ名}

// 最新のリモートリポジトリブランチを取得
$git pull origin {ブランチ名}

Gitをより深く

0
0
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
0
0