git initとgit push





git push

git push とはローカルで開発したものをリモートリポジトリに変更を反映するためのコマンド
GitHubでリポジトリを作成後手順通りpushしようとしたら、エラーや反映されてていないということが起こったのでメモしておく

ローカルリポジトリを作成する

コマンドラインでローカルの作業フォルダに移動

git initコマンドでローカルリポジトリを作成

1
git init

.gitというサブディレクトリが作成される

git addコマンドでファイルをインデックスに追加(Gitの管理にいれる)

1
git add -A

Gitのリポジトリでファイルを変更した場合、git commitコマンドで変更を登録する

1
git commit

変更したファイルだけコミットする場合は

1
git commit ファイル名

変更した全てコミットする場合は

1
git commit .

-aをつければなにもかもコミットコマンドは

git remoteコマンドでリモートリポジトリの情報をローカルに保存する

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

これでリモートに保存された

1
git remote -v

で打ち込んだリポジトリが登録されているか確認できる

git push origin masterコマンドで ローカルのmasterブランチをリモートリポジトリへ反映させる

(正式にはgit push origin master:master)

1
git push origin master

これでリモートリポジトリに反映される

git push時にエラー

remote: Permission to ユーザー名1/リポジトリ名 denied to ユーザー名2
fatal: unable to access …… : The requested URL returned error: 403
という文が出た
どうやら複数のGitアカウントを使っている場合にユーザが混合してしまっているため、pushできないということ
とりあえずGUIでアカウント情報を修正してみる

  1. [コントロール]→ [パネル\ユーザー]→ [アカウント\資格情報マネージャー]へ移動
  2. 資格情報マネージャー”をクリック
  3. 一覧からgit:https://github.comをクリック
  4. 削除をクリックして情報を削除する
  5. もう一度Gitにコマンドで接続すると認証画面が出るので、使用するアカウント情報を入力すればpushできるようになる

Everything up-to-dateと出る場合

git push origin masterでEverything up-to-dateと出て反映されない場合がある
もう一度commitしてからやる必要があるので

1
git commit -am "add feature"

の後に

1
git push origin master

で無事にpushされた