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

私はプライベートでプログラミング学習やWEBアプリの自作を1年半ほど(あ、もちろんずっとではなくモチベがあるときです)行っているのですが、今までずっと下記のようなやり方でコーディングしていました。

⓵コードを書く
⓶エラーがでる
⓷コードを直す
⓸画面を確認する
⓹エラーが直っていればよし、直ってなければCtrl + Zでコードを戻す

⓵~⓹の流れを延々と繰り返していたのですが、Ctrl + Zで戻すという方法でしかコードを戻す方法を知らないので、過去のコードを確認できないのはもちろんエディタを誤って閉じた場合2度と戻せないという危険が常に付きまとった状態でコードを書いていました。

ということで、いい加減Gitでソースを管理しようと思いました(^_-)-☆

実際の流れ

前提:GitHubのアカウントは過去に作っているためその工程は飛ばします

1.Windowsに備え付けのCopilotを用意する
2.プロジェクトフォルダでGitを使えるようにする
3.GitHubリポジトリの作成と連携
4.ファイルのステージングとコミット
5.GitHubへプッシュ

1.Windowsに備え付けのCopilotを用意する

Copilotちゃんにすべて聞きます。
別にCopilotでなくてもいいんですが、自分はプライベートの学習は全てCopilotちゃんに聞くようにしているので今回も同じようにやります。
後は都度Qiitaやネットで調べて軽く信憑性をチェックします。

ちなみにYouTubeによくあるGitHub解説動画は、過去に何度か視聴したのですが自分の理解力がなさすぎてダメでした。(みんなMacOS使いすぎだし動画の順番でこなしていっても自分側のGitHubには表示されてなかったり難しすぎだよ~)

2.プロジェクトフォルダでGitを使えるようにする

プロジェクトフォルダが何かわからない人は、ネットで調べるかAIに聞いてください。

Windows Powershellでプロジェクトフォルダへ移動してください。
※↓はあくまで例なので簡単に書いてますが、「cd」と書いた後に、プロジェクトフォルダのパスをコピーして貼り付ければOKです

cd application-project  # プロジェクトフォルダへ移動

移動後、Gitリポジトリを初期化します。

git init           # Gitリポジトリを初期化

■結果
Gitの初期化が成功して、プロジェクトフォルダがGit管理下に入りました。(このときプロジェクトフォルダの直下に.gitフォルダが作成されます)
また、「初期ブランチ名が master になってるけど、最近は main を使うことが多いよ」みたいなメッセージが返ってきたので、ブランチ名をmainに変更しました。

git branch -m main           # ブランチ名を変更

3.GitHubリポジトリの作成と連携

GitHub上で新しいリポジトリを作成し、ローカルと紐付けます。

git remote add origin https://github.com/ユーザー名/application.git

ユーザー名とは、GitHubアカウントのユーザー名のことです。
リポジトリ(.gitの名前)も、自分の好きな任意の名前で作っちゃってください。

私はこれから少しの間エラーに苦しみます。
下記をご覧ください('_')

  • 「main という名前のブランチが存在していない」
    →2の作業でmainに変更しているため、このエラーはおかしい。
  • 「git branch」を叩いても何も表示されない
    →「まだブランチが存在していない(コミットが一つもない)」状態ということ。は??
  • 「git push -u origin main」を叩いても上記と同じエラーが返ってくる

数十分格闘した結果、下記のことがわかりました。

リポジトリ(.gitの名前)も、自分の好きな任意の名前で作っちゃってください。

私はこのとき間違えてCopilotちゃんが出力してくれたダミーのURLをそのまま入力してしまい、その後の一連の操作をこのダミーURL(存在しないリポジトリ)上で行っていたため、しょっちゅうエラーを吐いてしまい原因を追究するのに時間をかけました...
(コマンド内に「ユーザー名」という名称をそのまま入力していました。そりゃあそんなGitHubのURLは存在しないためブランチもないしプッシュもできないわけです)
厳密にいうと、ダミーのURLを入力していたのには気づいていたのですが、その後に正しいURLに変更して同じコマンドを入力したものの、その対処が間違っていたようです。

間違ったURLを入力したあとは、下記のコマンドを入力します。

git remote set-url origin https://github.com/ユーザー名(正しいやつ)/application.git

4.ファイルのステージングとコミット

初回コミットを作ります。

git add .                # すべての変更をステージング

こうすることで、プロジェクトフォルダ上のファイルがすべてコミット対象(つまりバックアップもとれるし、変更履歴が確認できるようになる)に入ります。

そして、コミットのメッセージを指定します。

git commit -m "初回コミット: 環境構築完了"  # 意図が伝わるメッセージを

■結果
「Gitに自分の名前とメールアドレスをまだ教えてないから、コミットできないよ」というエラーが返ってきました。
Gitはコミット履歴に「誰が変更したか」を記録するため、ユーザー名とメールアドレスの設定が必須みたいですね。
ここでは、GitHubで使ってる名前とメールアドレスで登録することにします。

git config --global user.name "GitHubに登録してるユーザー名"
git config --global user.email "GitHubに登録してるメールアドレス"

※--globalをつけることで、今後すべてのGitプロジェクトでこの設定が使われます。

5.GitHubへプッシュ

いよいよ、GitHubへプッシュする作業を行っていきます。
下記のコマンドを入力し、いざ!!!

git push -u origin main

■結果
どうやら、プッシュするにはGitHubへ認証しないといけないみたいです。
ということで、GitHubのユーザー名とパスワードを入力していきます。

...
あれ、パスワードを入力したのに認証エラーになるぞ。なんでや。
ネットで調べた結果、GitHubは2021年8月13日からパスワードによる認証を廃止しているみたいです。セキュリティ意識高杉田玄白。
今の認証方法は、アクセストークン形式に変更したみたいですね( 一一)
下記に、GitHubでアクセストークンを発行する方法を記載しておきます。(2025年のいま皆さん知ってると思いますが)

  1. GitHubにログイン
  2. setting
  3. Developer setting → personal access tokens → Tokens(classic)
  4. Generate new token → 有効期限・権限(repoにチェック)を選択
    →他はそのままでOK
  5. トークンをコピー(ページを離れたらまた発行しないといけないので注意)

トークンをコピーしたら、再度「git push -u origin main」のコマンドを入力し、ユーザー名を入力、パスワード(トークン)をペーストする。

■結果
GitHubへの初回プッシュ、大成功!!
「ローカルのmainブランチがGitHubのmainにアップロードされて、追跡設定も完了したよ」というメッセージが返ってきました!(^^)!

まとめ

・mainブランチが作成されて、初回コミットが記録された
・GitHub上のリポジトリにpushされた
・以後、git push や git pullでGitHubと連携できる状態になった
・Copilotちゃん神
・エラーの内容をよく理解し、コマンドを打つときはちゃんと意味を理解してから叩く

以上、底辺エンジニアの初めてのGit体験でした!
いやー本当に私の時代にAIが流行っていて良かった(^^)
ご清聴ありがとうございました~♪

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?