【初心者向け】(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