公式サイト

目次

  1. Gitの覚書:2023-2024
  2. よく使うコマンド
  3. 旧:基本
  4. 旧:一般
  5. 旧:Bash コマンド




Gitの覚書:2023-2024

  1. Git pullしたとき他の人によって修正されてしまったファイルを調べる | 指定ファイルに対し、任意のコミットIDとHEADを比較。
  2. 指定ファイルのコミット履歴を調べたい | git log
  3. 競合ファイルを修正:コミットしてプッシュしたら競合ファイルエラーが発生しまった場合
  4. 現在のブランチを複製してローカルに新しいブランチを作成、同時にリモートブランチも作成
  5. リモートリポジトリで管理されているファイルを自分の開発環境だけ管理対象外にする | git update-index
  6. 指定ファイルをステージからワーキングに戻す | ステージング状態を解除
  7. Git スタッシュ→ブランチを変えてもファイル内容を変化させない | 自分の開発環境独自の記述をする必要があるときに
  8. .gitnoreを使用せずに指定ファイルをコミット対象からはずす
  9. 新しいSSHキーをローカルで発行、GitHubに登録、既存のプロジェクトに適用する
  10. 変更したファイルを確認する
  11. 指定のディレクトリを削除してから、gitで再び取り直したい
  12. ローカルには存在せずリモートにのみ存在するブランチに変更する
  13. ローカルに存在しないブランチに切り替える(リモートからブランチをダウンロードしつつ、切り替えを行う)
  14. 現在のブランチを確認する
  15. 間違ってディレクトリを削除してしまったのコミットから元に戻す
  16. Gitで間違ってい修正したファイルを最新のコミット状態に戻す
  17. リモートブランチを新しく作成する
  18. 最終コミット日を取得する
  19. GitHubで不要になったリモートのブランチを削除する方法
  20. 現在のブランチが壊れたので新しいブランチをローカルとリモートに作成する
  21. 作業中に誤ったブランチで作業を行ったことに気づいた場合の対応 | スタッシュ | git stash




よく使うGitのコマンド

Gitのコマンドはcdコマンドでプロジェクトのトップディレクトリに移動してから実行すること。

コマンド解説
$ git fetch origin main
$ git reset --hard origin/main
強制的にリモートブランチの最新状態にローカル環境を戻す。 参考
$ git pull プルを実行。チーム開発では毎日実行するコマンドになる。
pullはfetchとmergeを一度に両方行う。 ただし、競合が発生した場合はファイルを修正後、mergeを実行しなければならない。 参考
$ git clone プロジェクトURL GitHubからインポート。 参考
$ git branch dog ブランチを新しく作成(ローカル側のみ)
$ git branch ローカルリポジトリのブランチ一覧を表示する。
アクティブなブランチには「*」がつく。
$ git branch
  gurukun
* main
  tanuki
					
$ git branch -v ブランチ一覧表示。 ハッシュ値とHEADコミットのメッセージも表示される。
$ git branch -v
  gurukun c3dce2a ファーストコミット
* main    abfa21e 海へ行きたい
  tanuki  c3dce2a ファーストコミット
					
$ git branch -r リモートリポジトリのブランチ一覧を表示する。
$ git branch -r
  origin/HEAD -> origin/main
  origin/main
$ git branch -a -v ローカルリポジトリとリモートリポジトリの両方からブランチ名を取得する。
$ git branch -a -v
  gurukun             c3dce2a ファーストコミット
* main                abfa21e 海へ行きたい
  tanuki              c3dce2a ファーストコミット
  remotes/origin/HEAD -> origin/main
  remotes/origin/main abfa21e 海へ行きたい
$ git branch -vv ローカルブランチとリモートブランチの紐づけを確認する。 []内がリモートのブランチを表している。
$ git branch -vv
  main         abfa21e [origin/main] 海へ行きたい
* okinawa_fish c60f3e3 山へ行きたい
  tanuki       c3dce2a ファーストコミット
[]が存在しない個所はリモートのブランチと紐づいていない状態。
参考:ローカルブランチとリモートブランチを紐づける
$ git checkout -b ローカルブランチ名 origin/リモートブランチ名
$ git checkout -b neko origin/neko
リモートブランチのチェックアウト。 プルリクエストによるチーム開発ではお世話になるコマンドになるだろう。
同じ名前のローカルブランチが存在しない状態で上記コマンドを実行する。 また、ローカルブランチ名とリモートブランチは同じブランチ名にする必要がある。

$ git checkout ブランチ名 アクティブなブランチを変更する。(ローカルリポジトリ内のブランチ) プロジェクト内のファイル群もそのブランチの修正に一斉に切り替わる。
$ git checkout gurukun
Switched to branch 'gurukun'

$ git branch
* gurukun
  main
  tanuki
$ git branch -m 新しいブランチ名 ブランチ名を変更する。
$ git branch
* gurukun
  main
  tanuki

$ git branch -m okinawa_fish

$ git branch
  main
* okinawa_fish
  tanuki


git branch -D ローカルブランチ名 ローカルのブランチを削除
git branch -D neko
$ git ls-remote リモート側のブランチ情報を表示する(GitHub側など)
$ git ls-remote
From git@github.com:amaraimusi/eccube4_demo.git
abfa21e058bfb760db100a39a260480c56ceabf0        HEAD
c3dce2a276cc756e0b94e20a08d0a6e0be2234c2        refs/heads/gurukun
abfa21e058bfb760db100a39a260480c56ceabf0        refs/heads/main

$ git remote -v リモート側のURL情報を表示
$ git remote -v
origin  git@github.com:amaraimusi/eccube4_demo.git (fetch)
origin  git@github.com:amaraimusi/eccube4_demo.git (push)
$ git add -A インデックス領域(ステージングエリア領域)に差分ファイルを移動するコマンド。
「$ git add -A」コマンドの後でコミットコマンドを実行する必要がある。
参考:コマンドでコミット→プッシュ
$ git status コミット予定の差分ファイルを確認
インデックス領域内のファイル一覧表示か?
$ git status
On branch main
Your branch is up to date with 'origin/main'.

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        modified:   README.md
$ git commit -m '任意メッセージ' コミットを実行する。 参考:コマンドでコミット→プッシュ
$ git commit -m '海へ行きたい'
[main abfa21e] 海へ行きたい
 1 file changed, 2 insertions(+)
$ git push リモート側のブランチ名(省略可) リポートリポジトリ側にプッシュ。 参考:コマンドでコミット→プッシュ
$ git branch -a
  gurukun
* main
  tanuki
  remotes/origin/HEAD -> origin/main
  remotes/origin/main


$ git push origin main
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 4 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 301 bytes | 150.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0)

$git push -f チーム開発では混乱を招くので絶対に使ってはいけない。 コミット履歴を強制的に上書きしてしまう。 あくまで個人で開発しているときのみに使用を限定すること。
$ git push -f origin main
git remote add ブランチ リモートURL ブランチにリモートを紐づける。
git remote add master git@github.com:amaraimusi/note_prg.git
git remote rm リモートのブランチ リモートのブランチを外す
git remote rm origin
$ git log コミット履歴を表示する

				





基本

  1. GitHubとは
  2. Gitとは
  3. Gitの基本
  4. GitHubへユーザー登録する
  5. 新しくリポジトリを作成する
  6. Eclipseと連携
  7. 1つのプロジェクトにGitHubとBitbucketの両方を連携させる
  8. コミット&プッシュでGitHubサーバーへ反映
  9. チームに開発メンバーを追加(別ユーザーを追加)
  10. Reset | リセット
  11. Resetで1つ前のコミットに戻す
  12. Revert | プッシュの取り消し
  13. 競合の修正方法
  14. SSHを設定する
  15. ファイルまたはフォルダをGit管理外にする | Ignore
  16. Gitとbitbucketの覚書



一般

  1. バージョン管理システム
  2. リポジトリとは
  3. リモートリポジトリとは
  4. ローカルリポジトリとは
  5. リモートリポジトリとローカルリポジトリの関係
  6. Eclipse側でリモートリポジトリの連携を解除
  7. ブランチとは
  8. masterブランチとは
  9. GitHubでブランチをブランチを切る(ブランチ作成)
  10. GitHubでブランチを切り替える
  11. Eclipse側にもブランチを作成する
  12. GitHubでブランチを統合する
  13. Eclipse側で不要になったブランチをローカルリポジトリから削除する
  14. Gitのコミット
  15. プルとは | pull
  16. フェッチとは | feche
  17. マージとは | merge
  18. プッシュとは | push
  19. 競合発生のタイミング
  20. non-fast-forward | ブランチでコミットに失敗したら・・・
  21. インデックスへ追加 | add
  22. Eclipseで add 操作
  23. インデックスの省略
  24. インデックスへ add する利点
  25. 間違えてインデックスに追加してしまったら
  26. ワークツリーとは
  27. HEADとは
  28. ORIG_HEADとは
  29. FETCH_HEADとは
  30. リモートリポジトリのコミット一覧を見る
  31. リベースとは | rebase
  32. publicからprivateに変更する設定手順
  33. ローカルリポジトリのコミットを取り消す方法
  34. プロジェクトのコピーとEclipseのGit | .project
  35. 個人アクセストークンの発行 | Personal access tokens
  36. Git Hub | PR | プルリクエストのレビュー必須化について
  37. SSH Keyの作成とGitHubへ登録 | 公開鍵と秘密鍵
  38. Gitの改行コードを勝手に変換させない | core.autocrlf=false
  39. ローカル環境専用のファイル管理対象外 | .git/info/exclude
  40. .gitnoreが効かない場合の対処方法
  41. チーム開発におけるプルリクエストの手順
  42. 不要になったGitHubのブランチを削除する方法
  43. git log | コミット履歴の閲覧
  44. git grep | キーワードで検索
  45. pushができない | ユーザー名とパスワードの入力が求められるが...
  46. 任意ディレクトリに対し、.emptyファイル以外のファイルをgitで管理したくない
  47. 参考リンク



Bash コマンド

  1. GitHubからインポート(クローン) | clone
  2. ローカルブランチとリモートブランチを紐づける
  3. コンフリクト(競合)の修正 | プルしたらコンフリクトが発生した
  4. コンフリクト(競合)の修正
  5. 2段階認証設定したらプッシュができなくなった
  6. ここまでを覚書に記述する →ローカルのみのgit環境を作成、およびEclipseと連携
  7. コマンドでコミット→プッシュ
  8. プロジェクトに紐づいているリモートリポジトリの情報を確認する。
  9. リモートリポジトリからプル(履歴が違うと怒られる場合)
  10. メールアドレスが登録されていない | fatal: unable to auto-detect email address
  11. GitHubからコマンドでCakePHP2をインストールする
  12. 強制的にリモートブランチの最新状態にローカル環境を戻す
  13. 履歴からファイルを削除する
  14. 作業中に誤ったブランチで作業を行ったことに気づいた場合の対応 | スタッシュ | git stash