🐈‍⬛

【Git】使用シーンから学ぶGitコマンド(初心者)

2024/08/02に公開

はじめに

こんにちは。なかじと申します。
現在、プログラミングスクールに通ってRuby on Railsを学習しております。

記事の概要

現在受講しているスクールではバージョン管理にGit・Githubを使用しています。
学習を進めていく中で「これをしたい場合、どんなGitのコマンドを使ったらいいのだろう?」と調べる機会があったため、本記事では初学者である私が必要になったシーンからGitのコマンドを紹介していきます。

untracked fileに不必要なものがないか確認したい

  • 不要なファイルをコミットしないためにgit statusで確認するぞ〜
$ git status
#...
  (use "git add <file>..." to include in what will be committed)
    app/controllers/user_sessions_controller.rb
    app/views/user_sessions/ #ディレクトリ名のみ
  • user_sessionsディレクトリ配下のファイルはどんなのがあるか確認したい!

git status -uallを使う

$ git status -uall
#...
  (use "git add <file>..." to include in what will be committed)
    app/controllers/user_sessions_controller.rb
    app/views/user_sessions/new.html.erb #ファイル名
  • こちらのコマンドだとファイル名を表示してくれます
  • user_sessionsにはnew.html.erbがあるということが確認できます

作業ブランチを切らずmainブランチで作業を進めてしまった場合

  • カタカタ......あ!ブランチ切らずに作業を進めてしまっていた!!

git stashを使う

  • 退避する流れに加えて確認コマンドも多めにして作業していきます
  1. git stashで現在のブランチから変更を一時退避
$ git stash
  1. 退避できているか確認
$ git status #作業ブランチの状況確認
#...
nothing to commit, working tree clean #もう少し色々出てきますが、コミットできるものがありません、このブランチは空ですみたいな意味です。
#...
$ git stash list #退避したリストを表示
stash@{0}: WIP on test: xxxx #一回stashしただけなら{0}になっているはずです
  1. 正しい作業ブランチを作成して移動
$ git checkout -b <ブランチ名>
  1. 退避していた変更を正しいブランチに移動
$ git stash pop stash@{0}
  1. 変更が反映できているか確認
$ git status
#...
on <ブランチ名>
modified: .... #変更履歴が出てくるはずです
#...
$ git stash list #何も表示されません

リモートリポジトリとの紐付け解除

  • 勉強会などで他の人のリポジトリをcloneして、終了後自分のリモートリポジトリで草を生やしたいな〜🌱
  1. 現在紐づいているリモートリポジトリを表示(上記のケースなら勉強会の資料作成した人のものになっている)
$ git remote -v #現状の関連しているremoteのリポジトリが表示
> origin  https://github.com/OWNER/REPOSITORY.git (fetch)
> origin  https://github.com/OWNER/REPOSITORY.git (push)
  1. 連携を削除
$ git remote rm origin #削除(リポジトリ名でも可)
  1. 連携が削除されている確認
$ git remote -v #何も表示されない
  • この後自分のリモートリポジトリにadd,commit,pushします。

まとめ

今回は初学者である私が必要になったシーンからGitのコマンドを紹介していきました。
基本的な内容ばかりですが参考になったら幸いです🙆‍♀️お読みいただきありがとうございました!

参考にした記事

Discussion