Git Bash(GitHubからcloneしてpushする/Windows)

Git BashでGitHubからローカルPCにcloneし、ファイルを修正してGitHubにpushします。
ssh接続で行います。

確認環境
・Windows10
・git 2.19.1
・Google Chrome

目次

手順 やること
  1. git cloneでGitHubからPCにクローンする(ssh接続)
  2. PCでファイルを修正してPCのレポジトリにcommitする
  3. git pushでPCからGitHubに反映する(ssh接続)

やること

1.GitHubにあるレポジトリとファイルを、git cloneでPCに持ってきます。
cloneは最初の1回のみです。2回目以降のデータの取得はgit pullを使用します。

2.PCでファイルを修正し、git pushでGitHubに反映します。

環境

以下の環境が前提になっています。
・GitHubのアカウントを取得してレポジトリを作成し、テスト用のファイルを作成する。
・gitをインストールする。
・gitからGitHubへのssh接続の設定する。

GitHubにアカウントを登録/削除する手順
gitをWindows10にインストールする手順
Git BashでGitHubにssh接続する手順 (Windows)

1. git cloneでGitHubからPCにクローンする(ssh接続)

ssh接続でGitHubからPCにcloneします。

1.ローカル環境(PC)の任意の場所に空フォルダを作成します。
※EドライブにTest1フォルダを作成しました。

2.作成したフォルダで右クリックし「Git Bash Here」をクリックしてGit Bashを開きます。

 

3.gitで使用するユーザ名とメールアドレスを登録します。

git config --global user.name testuser123abc
git config --global user.email test@example.com

 

4.確認は、以下のコマンドです。
2,3行目は、登録したユーザ名とメールアドレスが表示されています。

git config --global --list
user.name=testuser123abc
user.email=test@example.com

 

5.GitHubの画面でSSH接続用のURLを取得します。
緑色の「Clone or download」ボタンを押して、「Use SSH」をクリックし、そこに表示されるURLをコピーします。

 

6.git cloneコマンドを実行します。
1行目は、git cloneの後に上記手順で取得したURLを貼り付けます。
3行目は、設定したパスフレーズを入力します。

git clone git@github.com:testuser123abc/test789.git
Cloning into 'test789'...
Enter passphrase for key '/c/Users/moon/.ssh/id_rsa':
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.

 

7.実行したフォルダの配下に取得したレポジトリ名でフォルダが作成されます。
そのレポジトリ名のフォルダに移動します。lsコマンドでフォルダ名を確認できます。
(サンプルでは、EドライブのTest1フォルダのtest789のフォルダに移動しました。)

cd test789/

 

8.テストのため、ファイルを修正します。
例:test1.txtの内容を、こんにちは123 → こんにちは123ハローに修正する。

 

2. PCでファイルを修正してPCのレポジトリにcommitする

1.上記手順で変更したファイルを確認します。1行目のgit statusを入力します。

git status
On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   test1.txt

no changes added to commit (use "git add" and/or "git commit -a")

4,5行目は、commitするには、git add・・・が必要と書いてあります。
9行目は、変更(modified)したファイル名が表示されています。

 

2.git add . を入力します。作成したファイルをステージングエリア(インデックス)に登録します。
コミット待ちの状態になります。

git add .

最後のピリオド(.)は、すべてのファイルを指します。

 

3.git commitコマンドでコミットを行いレポジトリに登録します。
-mの後の引数は、コメントです。任意の文字を入力できます。

git commit -m "local-de-hennkou"
[master e89008a] local-de-hennkou
 1 file changed, 1 insertion(+), 1 deletion(-)

 

4.git logコマンドでcommit状況を確認できます。
6行目は、上記コマンド入力時のコメントでcommitされていることがわかります。

git log
commit e89008ae871860a3cc21ca4b1533431b96ec4172 (HEAD -> master)
Author: testuser123abc <test@example.com>
Date:   Thu Nov 22 22:53:00 2018 +0900

    local-de-hennkou

commit 917a35e93bbab9f2cd65548e83bd78699f727078 (origin/master, origin/HEAD)
Author: testuser1 <45202201+testuser123abc@users.noreply.github.com>
Date:   Thu Nov 22 22:43:23 2018 +0900

    Create test1.txt

 

ステージングエリアに追加したくないファイルがある場合

git addコマンドでステージングエリアに追加したくないファイルがある場合は、.gitignoreファイルを作成して対象のファイルを指定します。.gitignoreファイル自体はコミット対象になります。

1.vimコマンドで.gitignoreファイルを作成します。

vim .gitignore

 

2..gitignoreファイルの内容はサンプルとして以下のように指定しました。
1行目は、コメントです。
2行目は、拡張子がログのファイルを追加しないようにします。
3行目は、指定のフォルダ配下のファイルを追加しないようにします。

#コメント
*.log
folder1/

 

3. git pushでPCからGitHubに反映する(ssh接続)

1.リモートリポジトリのURLを確認します。

$ git remote -v
origin  https://github.com/testuser123abc/test789.git (fetch)
origin  https://github.com/testuser123abc/test789.git (push)

1行目のgit remote -vを入力します。
https接続になっているのでssh接続に変更します。

 

2.ssh接続の確認

git remote set-url origin git@github.com:testuser123abc/test789.git

git remote -v
origin  git@github.com:testuser123abc/test789.git (fetch)
origin  git@github.com:testuser123abc/test789.git (push)

1行目のコマンドでssh接続を設定しています。git@からのURLは、GitHubで取得したURLです。
testuser123abcの箇所は、GitHubのレポジトリ所有者と合わせる必要があります。
test789.gitの箇所は、GitHubのレポジトリ名と合わせる必要があります。

3行目は、git remote -vコマンドで再度URLを確認しています。
4,5行目は、ssh接続になっています。

 

3.GitHubにpush

git push
Enter passphrase for key '/c/Users/moon/.ssh/id_rsa':
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Writing objects: 100% (3/3), 276 bytes | 276.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To github.com:testuser123abc/test789.git
   917a35e..e89008a  master -> master

1行目は、git pushコマンドでpushしています。
2行目は、設定したパスフレーズを入力します。
完了後、GitHubのファイルを確認するとローカルの修正が反映されています。

参考:https://gist.github.com/developius/c81f021eb5c5916013dc

関連の記事

GitHubにアカウントを登録/削除する手順
gitをWindows10にインストールする手順
Git BashでGitHubにssh接続する手順 (Windows)
Git Bash(レポジトリの作成からコミット/Windows)
Git Bash(ブランチ作成とマージとコンフリクト/Windows)

△上に戻る