Zenn
🐷

【初心者向け】(Windows)GitとGithubの基本操作

に公開

こんにちは、皆さん!今日のテーマは、開発者なら誰もが避けて通れないバージョン管理システム「Git」です。

「Git?なんか難しそう…」

「ターミナルでの操作とか、正直よくわからない…」

そんなGit初心者さん、ご安心ください!この記事では、Gitの基本操作を、実際のコマンド例を交えながら、分かりやすく解説します。

この記事を読めば、

ローカルリポジトリとリモートリポジトリの作成方法
ファイルの追加、変更、コミットの方法
変更履歴の確認方法
ブランチの作成、切り替え方法
コンフリクトの解決方法
など、Gitの基本操作をマスターできます。

さあ、あなたもGitを使いこなして、快適な開発ライフを送りましょう!

Gitの基本操作

1.リポジトリの作成(ローカル/リモート)

  • 1-1. ローカルのリポジトリを作成
    ローカルリポジトリは、Gitで管理したいファイルのあるフォルダに作成します。
     今回は、c:\user\ユーザー名\study\python_1というフォルダにリポジトリを作成します。

まず、すべてのアプリからGit Bushを起動して、現在のディレクトリを確認します。

$pwd

c:\users\ユーザー名 のフォルダになっていると思いますので、リポジトリを作成したい(Gitで管理したい)フォルダまで移動します。

$cd study/python_1

ここにリポジトリを作成するので、git initコマンドを実行します。

$git init

エクスプローラーでそのフォルダを見ると、隠しファイルとして.gitというフォルダが作成されているのを確認できます。

ここで、リポジトリのデフォルトブランチがmasterになっているので、mainに修正します。(そういう風潮だそう)
(本当は、git initする前に、コマンドプロンプトで以下のコマンドを実行しておけば、デフォルトがmainになったのですが、忘れていたので、個別に修正します。次からのことも考えて、コマンドプロンプトで以下も実行しておくことをおすすめします。)

> git config --global init.defaultBranch main

git bushで、以下を入力すると、プロンプトの最後の(master)が(main)に変更されます。

$ git branch -m master main
  • 1-2. リモートのリポジトリ(GitHubのリポジトリ)を作成
    リモートのリポジトリ(GitHubのリポジトリ)は、まず、GitHubのページに行き、サインアップをクリックします。

    必要な情報を入力してサインアップすると、右上にアイコンが表示されるので、アイコンをクリックし、[Your Repository]からリポジトリを作成します。

    [Repository Name]を入力して、Public/Privateを選択して、右下の[create repository]をクリックします。

    これで、GitHub上のリポジトリが作成できました。

2.ファイルの追加とコミット

gitのリポジトリ(ローカルリポジトリ)の場所に、ソースファイルを作成します。今回は、JupyterNotebookでipynbファイルを作成します。


この状態で、ステータスを見ると、gitに登録が必要なファイルがあることがわかります。

$git status

On branch main
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
.ipynb_checkpoints/
test1.ipynb
nothing added to commit but untracked files present (use "git add" to track)

このファイルをgitのリポジトリにステージングします。
ステージングとは、準備段階に置くことです。完全にgitに登録(コミット)する前に、ステージングの段階にファイルを置いて、登録するべき内容かどうかを確認できるようになっています。

$git add (ファイル名)

そのフォルダ配下のファイルをすべてステージングするには、[.]を使います。

$git add .

この状態で、statusを見ると、ファイルが追加されたことがわかります。

$git status

On branch main
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: ".ipynb_checkpoints/Python\345\255\246\347\277\222\345\237\272\347\244\216-checkpoint.ipynb"
new file: .ipynb_checkpoints/test1-checkpoint.ipynb
new file: test1.ipynb

ステージングしたものの、ipynb_checkpointsフォルダ配下のファイルはgitで管理しなくてもいいかなと思うので、gitの管理下から除外します。
該当フォルダに、[.gitignore]という名前のファイルを作成し、中に除外したいフォルダやファイル名を記述します。それだけで、gitの管理下から除外されて、[git add .]してもステージングされることはありません。

$echo ".ipynb_checkpoints/" >> .gitignore

[.gitignore]ファイルをステージングします。

$git add .

gitに登録(コミット)します。

$git commit -m "(変更履歴に残すコメント)"

先ほどステージングした[.ipynb_checkpoints]フォルダは含まれたままですので、登録内容からはずします(履歴から削除します)。(-rは複数ファイルの場合に指定するオプション。単一ファイルなら不要)

$git rm -r --cached .ipynb_checkpoints/

なお、ステージングの状態で、ステージングからファイルを外す場合は、以下のコマンドです。

$git restore --staged (ファイル名)

3.GitとGitHubの連携

GitのリポジトリとGithubのリポジトリを連携します。

$git remote add origin https://github.com/(githubユーザ名)/(githubリポジトリ名).git

Gitのリポジトリに登録した内容を、Githubの連携したリポジトリにあげます。

$git push origin main

初めての時は、Githubのログインを求められます。[sign in with yore browzer]をクリックします。

 内容を確認して、[Authorize git-ecosystem]をクリックします。
 

パスワード入力画面が表示されるので、Githubのパスワードを入力して実行します。
アクセスエラーの画面が表示されますが、登録できています。Githubを開いて、リポジトリを見てみてください。

つづきは次回・・・

  • 4.ブランチの作成と切り替え
  • 5.コンフリクトの解決方法

Discussion

ログインするとコメントできます