0
0

More than 1 year has passed since last update.

GitHub 初期設定〜使い方まで Vol.2

Posted at

各種基礎コマンド

管理しないファイルをGitからの除外

●管理しないファイルをGitから外す
.gitignoreファイルを作成する

ファイルの中に記載されたファイルやディレクトリ等は外される
・ファイル名を記載
・(ディレクトリ名)/
・//.css

変更の取り消し

●ファイルへの変更を取り消す(ワークツリーの内容を前回addした状態に戻したい時)
ワークツリーの情報を、ステージの内容に合わせる
$ git checkout — <ファイル名>
$ git checkout — <ディレクトリ名>

□全ての変更を取り消す
$ git checkout — .

●ステージにaddした内容を取り消したい時(前回のcommit内容に戻る。ワークツリーの内容は変わらないので、ワークツリーも戻したい場合は上記のコマンドを入力)
$ git reset HEAD <ファイル名>
$ git reset HEAD <ディレクトリ名>

□全てのadd内容を最新commit情報に戻す
$ git reset HEAD .

●上記2パターンを一つのコマンドでで行いたい時
▽git reset HEADと同意
$ git restore -S <ファイル名>
$ git restore -S <ディレクトリ名>

▽git checkoutと同意
$ git restore <ファイル名>
$ git restore <ディレクトリ名>

□全てのadd内容を最新commit情報に戻し、ワークツリーも元に戻す
$ git restore -S .

$ git restore .

●直前のコミットを取り消したい時(リモートリポジトリにpushファイルは、やり直してはいけない)
$ git commit —amend
$ git commit —amend -m (コミットメッセージ)

リモートリポジトリからの情報取得

●設定しているリモートリポジトリの情報を表示する
$git remote
$git remote -v (URLを表示)

●リモートリポジトリから情報を取得する(fetch)
$ git fetch <リモート名>
 この段階ではワークツリーには反映されない

$ git merge <リモートリポジトリ名>/<ブランチ名>
$ git merge origin/master

●リモートリポジトリから情報を取得し、マージする(pull)
誤って使うと、想定しないブランチにmergeされてしまうので注意
$git pull <リモートリポジトリ名>/<ブランチ名>

□変更等なく単純に最新情報のみ取得したい時は、—rebaseオプションをつけると、mergeコミットが残らないので履歴がきれいになる。
$git pull —rebase <リモートリポジトリ名>/<ブランチ名>

・PC全体でpullの時はrebaseにする方法 $git config —global pull.rebase true
・mainブランチの時のみrebaseにする方法 $git config branch.main.rebase true

□上記コマンドは省略可能
$ git pull

□下記コマンドと同じ意味
$git fetch origin master
$git merge origin/master


●リモートリポジトリの名称変更
$ git remote rename <旧リモート名><新リモート名>


●リモートリポジトリの削除
$ git remote rm <リモート名>

ブランチについて

●ブランチを新規追加する
$ git branch <ブランチ名>

●ブランチの一覧を表示する
$git branch
$git branch -a

●ブランチを切り替える
$git checkout (既存ブランチ名)

□ブランチを新規追加して、切り替える
$git branch -b checkout (ブランチ名)


merge,commitについて

●変更履歴をマージする
$ git merge (ブランチ名>
$ git merge <リモート名>/<ブランチ名>

□コンフリクトが発生した場合

<<<<<<<HEAD
(HEADの情報)
======
(mergeしようとしたブランチの情報)
>>>>>>>(ブランチ名)

上記のようにコンフリクト情報が表示れるため、表示されたら修正し改めてaddとcommitを行う。


●ブランチ名を変更する
$git branch -m <ブランチ名>


●ブランチを削除する(pushした後に、ブランチが必要と無くなった場合などに使用)
$git branch -d feature
$git branch -D feature (強制削除)


●リベースで履歴を整えた形でmergeする
(pushした後のブランチに関しては使用NG)
$ git rebase <ブランチ名>

例)mainブランチがリリース用で、developコマンドが開発用ブランチだった場合
developブランチで
$git rebase main
そして、mainブランチに移動し
$git merge developを行う(ファストフォワード)

・Pushしていないローカルの変更はrebase
・履歴を明示的に残したいorコンフリクト置きそうな時はmerge
がおすすめ

●コミットをきれいに書き換える(Git HubにPushしていないコミットのみ)
□ 直前のコミットを書き換える
$ git commit —amend

□ 複数のコミットをやり直す
$ git rebase -i <コミットID>
例)$git rebase -i HEAD~3

上記コマンド入力すると、エディタが立ち上がる

例)
pick 5ccfca5 1.txtを追加
pick b265b3a 2.txtを追加
pick 1c449d9 3.txtを追加

・pickの部分を、editに編集するとコミットメッセージの変更
・pickの部分を、squashに編集(2つ以上)するとコミット履歴の統合
・行を削除するとコミット内容や、それに伴う情報が削除される
・コミットの情報を修正したい時は、editに書き換え、$git reset HEAD^と入力しHEADの情報を削除し、addからやり直す

タグを作成する

●タグを作成する(リリースポイント等に使用)
$ git tag -a <タグ名> -m “<メッセージ>”
例)$ git tag -a 20230112_01 -m “version 1.0”

●タグをリモートリポジトリに送信する
$ git push <リモート名> <タグ名>

□全て送信する
$ git push origin —tags

作業を避難する

●作業を一時避難する(作業が途中でまだコミットしたくないけど、別のブランチで作業したい時)
$ git stash

●避難した作業を確認する
$ git stash list

●避難した作業を復元する
□ 最新の作業を復元する
$ git stash apply

□ステージの状況も復元する
$ git stash apply —index

□ 特定の作業を復元する
$ git stash apply <スタッシュ名>
例)$ git stash apply stash@{1}

●避難した作業を削除する
□最新の行を削除する
$ git stash drop

□特定の作業を削除する
$ git stash drop <スタッシュ名>

□ 全作業を削除する
$git stash clear

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