LoginSignup
0
0

ド素人がGit、Githubなるものをインストールして使ってみる。

Last updated at Posted at 2023-11-03

Gitとはなんぞや?

当方は基本的に素人です。
なにか誤解を招く表現があればコメントや編集リクエストをいただければありがたく思います。

Gitはプログラムのコードを「いつ誰がどのような変更を行ったのか」を管理しておくバージョン管理ツールらしいです。

ソースコードなどをアップロードすることができます。

リポジトリはgitでファイルを管理する場所のようです。

サーバーのことをリモート、個人の作業端末をローカルといい、gitとgithubは別物。githubはリモートサーバの中身をブラウザで見るためのツールらしいです。

youtubeを見ながらgitを使っていきたいと思います。

この動画ではgitのインストールなどは解説されておらず、最初のgit clone、git addコマンドなどを実行するのに数時間かかりました。あくまでgitの使い方講座でした。これは僕が悪い。

git pushも他のサイトを参考にしてやりました。

gitの理解には以下のサイトが役立ちました。

次の項目でコマンドが使えず四苦八苦しておりますがコマンドを使わず操作することも可能です。
SourceTree、TortoiseGitなるものがあるようです。

git cloneができない!

とりあえずgithubに登録しました。

まずはリポジトリを作成して、
image.png
わけもわからずSSHを選択し、その右にあるものをコピーしコマンドプロンプトで`git clone ....gitを実行しますができません。

Gitインストール

まずはGitなるものインストールしなければgitコマンドが使えないということに気づきました。

ということで以下のサイトを参照してここからGitをインストールしたところ、コマンドプロンプトでgitコマンドが反応しました。

image.png

インストール時にデフォルトのエディターにはVSCodeを選択しました。
image.png
WARNING!が出ています。怖い。

Command Promptを選択しました。
この2項目以外はデフォルトのままだったはずです。
image.png

以下のサイトを見ながらインストールしました。

よくわかりませんがユーザーネームとメールアドレスを設定しておきます。このメアド、ユーザネームはクローンすれば誰でも閲覧できるので注意が必要かと思います。

git config --global user.name "UserName"
git config --global user.email "user.email@email.com"

git config --listで確認できます。

また、git -vでバージョンが確認できます。
インストールできていればバージョンが表示されるはずです。

最初に戻ってgit cloneが反応はするのですが、

Please make sure you have the correct access rights

privateでリポジトリを作成したからか、実行できませんでした。

トークンを取得するというサイトを見ていましたがなかなかできなかったのでパスワードを入力する方針に切り替えました。
暗号鍵なるものもあるのかよくわかりませんでした。

以下のコードを入力するとパスワードの入力を求められ、ログインするとクローンすることができました。
git clone https://[リポジトリの所有アカウント名]@github.com/[リポジトリの所有アカウント]/[リポジトリ名].git

このサイトを参照しました。

SSHではなくhttpsを選択すると、リポジトリを開いた画面からコピペでいけるようです。

git clone やり方
git clone https://github.com/アカウント名/リポジトリ名.git

リポジトリのurlをコピペするだけでもいけるようです。

Gitの基本的な使い方

まず、

  1. VSCodeなどでフォルダを開いておく(ターミナルでリポジトリをクローンしたい場所に移動しておく)
  2. リポジトリのgit clone
  3. 選択したエディタ、ターミナルでcloneしたフォルダに移動(VSCodeならCtrl+K→Ctrl+Oでフォルダを開く)

C:\Desktop\git\リポジトリ名>
のようにターミナルでgitコマンドを使いたいフォルダに移動しておけということです。
VSCode(Windows)のデフォルトのターミナルはpowershellになっていたかと思います。
VSCodeならフォルダを開くことで移動できます。

これでgit statusで現在の状態を確認できるようになりました。

少し下に書かれているgit initを使って作成するほうがよいかもしれません。

  1. はなくてもターミナルが開いているフォルダの位置にクローンされます。

ターミナルでのディレクトリを移動したいときのコマンドなどは調べてください。コマンドプロンプトならcd [フォルダのアドレス]などで一発で移動できます。
cd 子フォルダ名 指定した子フォルダに移動
cd.. 親フォルダに移動

git add [ファイル名]で開いているフォルダの中のファイルをステージング(ファイルがgitの管理下にある状態)することができます。

エラーは以下のサイトを参照して対処しました。
git initが必要と勘違いしておりましたが、cloneした場合はなくてもできるようです。initをつかってやることもできるみたいです。

init使ってやるならこちらも参照

最初はcloneでよさそうですが、pushするときにmasterブランチを作成できなかったりするのでinitで作成したほうがよいかもしれません。

当方、素人なのでgit使ったことある人が見ていればアドバイスがほしいです。

git initまで実行したらそのまま読み進めてもらっても大丈夫です。

  1. github上でリポジトリの作成
  2. 作業ディレクトリの作成(しなくてもよい)
  3. 作業ディレクトリにターミナル上で移動
  4. git init .gitが作成される(隠しフォルダ)
  5. git remote add origin リポジトリのurlhttps://github.com/アカウント名/リポジトリ名)
  6. git add [ファイル名] で指定ファイルをステージング、または git add .で作業ディレクトリ内の全てのファイルをgitの管理下におく
  7. git commit -m "編集履歴などを書く" 編集履歴などをセーブ
  8. git push -u origin master ローカルからリモートへアップロード

コマンドの説明などはこれから書いていきます。
また、作業ディレクトリ内にファイルがないとおそらくpushできないと思います。
4.を7.の前に持ってきても可能と思われます。

参照:

以下のサイトは編集中に貼ったurlなのであまり気にしなくてよいです。

git add file1でfile1というファイルをステージングしてgit statusでみるとファイル名が緑色になりました。赤色のファイルはステージングされていないようです。

image.png

git add .ですべてのファイルをステージング状態にすることが可能。

次に保存が必要になるようです。
保存にはgit commitコマンドを使います。
git commitというのはステージングエリアからローカルリポジトリへファイルを上げるようです。

git commit -m "コミットメッセージ"
/* コミットメッセージにどのような編集内容なのかを書いておくと良いらしいです。 */

gitの基本的なコマンドはこちらを参考にしました。

次にfile1を編集し、git statusで確認すると
image.png
赤色で表示されました。

編集を保存するためにgit add .でコミット待ちの状態になります。ステージングされましたが、まだ保存されていないのでgit commit -m "二回目のコミットです"を実行することで保存します。

ここでgit logコマンドを打つことで誰が、何時何分にコミットしたかという記録と-mのあとに書いたメッセージが表示されます。

ここまでのコミットはリモート側にはアップロードされておらずあくまでローカルに保存されているようです。つまりgithubで見ることもできません。

はじめてのgit push

git pushコマンドでリモートにアップロードすることが可能です。

2回目以降はgit pushのみでよいらしいですが、はじめはgithubからリポジトリを開いてhttps://github.com/アカウント名/リポジトリ名.gitをコピーしてきてください。Alt+Dでurlが選択できるのでurlをコピーしても構いません。

そしてこのコマンドを実行。

git remote add origin https://github.com/.../....git

次に

git push -u origin master

を実行する。 branchは-uがなくてもよいかも。
二回目以降はgit pushのみでいけるようです。

ブランチが複数ある場合はgit push origin developなどのように指定して行うとよいかもしれません。

これでgithubで見ることができました。
image.png

参考として

git pushなのですが、最初にGitHubに上げる際にはこのままではうまくいきません。
リモートのリポジトリはどこやねんと言われてしまいました。
一番最初にリモートにアップロードする場合はきちんと宛先を指定しましょうね、という話です。
ではGithub上で作成したリモートリポジトリのURLをコピーしてきて先ほどのコマンドの続きに貼り付けます。
この際、リモートリポジトリの名前をつける必要があるのですが、この名前は一般的に"origin"という名前を使用します。コマンドは以下のようになります。
$ git remote add origin https://github.com/Toshimatu/pictgram.git
これでセッティングは終了。これでpushする準備ができたので改めてpushをしましょう。
なお、最初のpushは以下のように指定します。2回目以降は$ git pushのみでpush可能になります。
$ git push -u origin master
これにてGitHubにファイルの登録ができました!
実際にGitHubに登録されているか確認して、作成したリポジトリにコードが反映されていれば終了です。
引用:https://qiita.com/A__Matsuda/items/f71a935612a55d6e674e

githubでリポジトリを開き、画像の部分をクリックするとコミットの履歴が閲覧できます。
image.png
さらにcommitメッセージをクリックするとソースコードの編集履歴を見ることができます。

コミットはゲームのセーブポイントのようなもので、きりの良いところでセーブすることです。

一人で使う場合、pullコマンドの出番はないかもしれませんが
git pull origin 最新のリポジトリ情報をダウンロード、他の作業者のコミットを更新したりできる。

ブランチ

元祖の変更履歴をmasterと呼ぶ。
masterから枝分かれすることをブランチと呼ぶ。

master側の歴史から枝分かれさせてブランチで開発する。ブランチはmasterにマージするまではmaster側に影響を与えない。ブランチがバグっていてもmasterには影響しない。

git checkout ブランチを切り替えるコマンド

git checkout -b develop master masterからdevelopという名前のブランチを切る

git branch ブランチの一覧を見る、緑色が現在のブランチ

git checkout masterでmasterに切り替えられる
git checkout developでdevelopに切り替える

git push origin develop developにpush

git pull origin 他者がdevelopをpushしたときに自分のローカルに持ってくる。

developの変更内容をチェックし、masterにマージするにはマージ先のブランチに移動git checkout master
masterに対してdevelopブランチをマージする場合は
git merge developと入力する。

マージは合併、融合などの意味がある。

その後、masterにマージした内容をリモートにpullします。
git push origin master

pullリクエストなどもあるがこの記事では割愛する。
ちなみに割愛とは惜しいと思うものを省略したりするという意味のようです。惜しくないものは割愛ではない?

fetchというのはリモートの状態をローカルにダウンロードしてくること。originはリモートサーバーのことのようです。

git fetch origin
git merge origin/develop
この2つのコマンドを1つにまとめたのが
git pull develop

git resetとstash

git reset --hard HEAD
このコマンドで今編集中の内容をすべてふきとばして、最終コミットの状態にリセットする。

git stash
ブランチを間違えたりしたときに、ブランチを切り替えるとコミットしてない変更があるのでエラーが出ます。
stashコマンドで一旦変更を取り消せます。
本来のブランチへ移動してから
git stash popでstashでコミットしてない内容をもってくる事ができる。

gitコマンドまとめ

初期設定
git config --global user.name "XXXX"
git config --global user.email "XXXX@hogehoge.com"

git clone 新規にリポジトリをローカルにコピー
git init リポジトリを新規作成、.gitというディレクトリが作成される。クローンした場合は必要ない。
git status ファイルの編集を行うと編集中のファイルが表示される
git add [ファイル名] gitにステージング、statusが緑色になる。git add . すべてのファイルをステージング。
git commit -m "コミットメッセージ" gitに対してのセーブ
git push ローカルの作業内容をリモートにアップロード
git log commit履歴を表示
git pull origin 最新のリポジトリ情報をダウンロード、他の作業者のコミットを更新したりできる。
git checkout -b develop master masterからdevelopという名前のブランチを切る

git branch ブランチの一覧を見る

merge、reset、stashは少し上にスクロールしてください。

<> Codeからzipファイルをダウンロードすることが可能です。
image.png

参照サイト

特に参考になったサイト。
youtubeを見ながらわからないこと、うまくできないことは他のサイトを参照しました。

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