0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

gitコマンドについて

Posted at

目次

  • GitとGitHubの関係について
  • gitコマンドとは
  • ローカル上での修正準備
    • ローカル上に資材が存在しない場合
      • 新規資材のクローン
    • ローカル上に資材が存在する場合
      • 最新情報を取り込む
      • 別ブランチを取り込む
      • 特定のコミットのみ取り込む
  • ローカル上の変更をリモート上に送る
  • 知っていて便利だったコマンド
    • フルパスを指定してコマンド実施
    • コミットメッセージに改行やタブなど特殊文字を含める
    • ステージングしたファイルを取り消す
    • ステージされてない変更を破棄
    • 直前のコミットメッセージを修正
    • コミット履歴を合わせる
      • コミット履歴の編集画面でよく使うコマンド
    • コミットメッセージに改行やタブなど特殊文字を含める

GitとGitHubの関係について

Gitとは、ソースコードやファイルの変更履歴をローカル上で記録・管理するためのツールです。
一方、GitHubとは、ソースコードやファイルの変更履歴をクラウド上で保存・共有・管理できるWebサービスで、Gitがなければ使用することができません。
つまり、Gitのローカル上で管理する変更履歴を、リモート上で共有・管理するためにGitHubを使うというイメージです。


gitコマンドとは

gitコマンドとは、GitやGitHubを操作するための命令文です。


ローカル上での修正準備

ローカル上に資材が存在しない場合
  • 新規資材のクローン
# ①コピーしたいディレクトリでGit Bashを開く

# ②クローン
git clone -b 【リモート上のブランチ名】 【URL】

# ③コピーした資材に移動
cd 【コピーした資材】

# ④新しいブランチを切って移動
git checkout -b 【ローカル上に作成したいブランチ名】

ローカル上に資材が存在する場合

(新しいブランチを切って作業する場合も類似)

  • 最新情報を取り込む
# ①リモート上の最新の情報を取得
git fetch origin 【取得したいブランチ名】

# ②最新にしたいブランチに切り替える
git checkout 【最新にしたいブランチ名】

# ③取得した情報をマージする
git marge origin/【取り込みたいブランチ名】
  • 別ブランチを取り込む
# ①リモート上の最新の情報を取得
git fetch origin 【取得したいブランチ名】

# ②リモート上のブランチ一覧を取得
git branch -r

# ③マージしたいブランチに切り替える
git checkout -b 【ローカル上のブランチ名】 orign/【リモート上のブランチ名】
  • 特定のコミットのみ取り込む
# ①取得したいコミットがあるブランチに移動
git checkout 【取得したいブランチ名】

# ②ログを確認(取得したいコミットのコミットハッシュ値を確認)
git log (--oneline)

# ③マージしたいブランチに移動
git checkout (-b) 【マージしたいブランチ名】

# ④取得したいコミットを選択
git cherry-pick 【コミットハッシュ値】

# ⑤変更をリモートに反映
git push origin 【反映したいブランチ名】

ローカル上の変更をリモート上に送る

# ①編集(modified)・追加(untracked)・削除(deleted)したファイルが
# Changes not staged for commit
# の下に表示されることを確認
git status

# ②変更した内容に誤りがないことを確認
git diff

# ③変更をステージングする
# 変更の全てをステージングする場合
git add .

# 変更の一部をステージングする場合
git add 【ファイル名】

# ④ステージングしたファイルが
# Changes to be committed
# の下に表示されることを確認
git status

# ⑤ステージングした変更を履歴として保存
git commit -m "コミットメッセージ"

# ⑥コミットメッセージが合っていることを確認
(q:閉じる)
git log

# または
tig

# ⑦変更履歴をリモート上に送る
git push origin 【リモート上のブランチ名】

知っていて便利だったコマンド

フルパスを指定してコマンド実施したい
git -C 【ファイルのコピー先+ファイル名】 【実施したいコマンド】

コミットメッセージに改行やタブなど特殊文字を含めたい
git commit -m $'…'

改行の場合だと…

git commit -m $'…¥n…'

ステージングしたファイルを取り消す
git restore --staged 【ファイル名】

ステージされてない変更を破棄

(ステージング済みには影響しない)

git checkout -- 【ファイル名】

直前のコミットメッセージを修正
# ①直前のコミットを上書きする
git commit --amend -m "修正後のコミットメッセージ"

# ②変更履歴を強制的にリモート上に送る
git push --forse-with-lease origin 【リモート上のブランチ名】

コミット履歴を合わせる
# ①コミットハッシュ値を確認
git log --oneline

# ②コミット履歴の編集画面を開く
git rebase -i HEAD~【最新から合わせたいコミット履歴までの個数】

# ③合わせたい履歴のうち1番古い履歴以外のpickをfに修正

# ④想定通りに修正できたかの確認
git log --oneline

# または
tig

# ⑤変更履歴を強制的にリモート上に送る
git push --forse-with-lease origin 【リモート上のブランチ名】
  • コミット履歴の編集画面でよく使うコマンド
用途 コマンド 説明
変更なし pickまたはp コミットを変更せず適用
コミットメッセージの修正 rewordまたはr コミットメッセージのみを修正
前のコミットに統合 fixupまたらf コミットを統合
(メッセージは前のものだけ残す)
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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?