プロジェクト等をローカルからリモートへプッシュする際の備忘録です。
1. 想定されるケース
ローカル作成したプロジェクトをGithubのリモートリポジトリへプッシュする。
2. Terminalで該当プロジェクトまで移動
cd
cd Desktop/
cd yourProjectName/
3. 該当プロジェクト内容確認
下記のコマンドでプロジェクトフォルダ内でgit管理下に置かれていないファイルが確認できる。
git init // ローカルプロジェクトのイニシャライズ
git status
4. まずローカル上でgit管理下に置く
git add .
git commit -m "First commit."
git add .
は、新規作成・変更されたファイルのみをaddする。
念のためbranchを確認(defaltはmaster)
git branch
// * master と返ってくる
5. リモートリポジトリへ接続・プッシュ
Github上でリモートリポジトリを作成し、Quick StartのURLを入手。
下記のコマンドを入力して、ローカルとリモートを接続。
※この際、「READ.MEを自動作成する」的な項目にチェックを入れると、Quick StartのURLが出てこない。
sshキーを連動させている場合は、push前の段階でパスワード入力画面に。
git remote add origin ssh://git@github.com:UserName/ProjectName
git push -u origin master
プッシュまで完了したら、Githubの対象リポジトリの内容をブラウザ更新して確認。
正常にフォルダがアップロードされていたら終了。
エラーが返ってくる場合の対処法
fatal: remote origin already exists.
pushしようとした際に、上記のようなエラーメッセージが返ってくる場合があります。
その際は、"git remote rm origin"で一度originを削除し、再度originを登録することで正常にpushできます。
git remote rm origin
git remote add origin git@github.com:UserName/ProjectName
git push -u origin master
error: failed to push some refs to 'git@github.com:---.git'
初回以降にcommitした内容をpushしようとする際、このようなエラーメッセージが返ってくる場合があります。
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
これは、リモートにプッシュする前にリモートが他のpush等によって変更されたために起こるエラー。
"git pull origin master"でリモートの変更をpullすることによって解決します。
git pull origin master
上記のコードを入力するとVimの画面になるので、"commit -m"のようにメッセージを登録することで、正常にpushできるようになります。
※Vim操作
i = 文字入力(insert)
wsc = Vim操作(insert)終了
:wq = 入力完了(Write and Quit)
ssh: Could not resolve hostname UserName: nodename nor servname provided, or not known
リモートレポジトリに接続して、初回のpushをしようとしたところ、このようなエラーが返ってくることがあります。
ssh: Could not resolve hostname UserName: nodename nor servname provided, or not known
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
色々ググって結局原因はわからないままなのですが、先ほどのエラーと同様に一度originを削除したところ、正常にpushされました。
git remote rm origin
git remote add origin git@github.com:UserName/ProjectName
git push -u origin master
以上です。