Gitを始めよう!(入門)
6min
変更をリモートリポジトリにpush(git push)

git pushとは?

前回、GitHubにリポジトリを作成しました。
GitHubのリポジトリを作成する(git init)
git pushを理解するには、リモートリポジトリという概念を理解する必要があります。リモートリポジトリとは、言葉の通りリモートにあるリポジトリのことです。
mkdir new-project cd new-project git init
上記のように、自分の開発マシンでgit initすることにより、Gitリポジトリを作成することができます。自分の開発マシンに存在するリポジトリのことを、リモートと対比して、「ローカル」と呼びます。

 リモートリポジトリとは、GitHubなどのリポジトリのホスティングサービスに存在しているリポジトリ、つまりネットワークを介してアクセスすることのできるリポジトリを言います。

 「プッシュ(push)する」とは、ローカルで行なった変更を、リモートに送り込むことです。
Dummy

習うより慣れろ、pushしてみよう!

それでは、実際にpushしてみます。
# ファイルに適当な変更を加える git add -A git commit -m "hoge commit." git push Counting objects: 3, done. Writing objects: 100% (3/3), 231 bytes | 231.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0) To https://github.com/DaiAoki/sample-project.git b136bfa..e9ec2cd master -> master

pushに失敗する場合

リポジトリを新規で作成した場合に、 下記のように失敗する場合があります。
git push fatal: No configured push destination. Either specify the URL from the command-line or configure a remote repository using git remote add <name> <url> and then push using the remote name git push <name>
このようなエラーが表示される場合、GitHubのリポジトリを作成する手順を見直してみてください。「GitHubのリポジトリの作成は完了しているけど、そこにpushできない!」という場合は、下記コマンドで解決するはずです。
git remote add origin https://github.com/your-github-username/your-project-name.git
また、下記のようなエラーが出ることもあります。
git push fatal: The current branch master has no upstream branch. To push the current branch and set the remote as upstream, use git push --set-upstream origin master
これは、エラー文に書いてある通り、現在のブランチ(カレントブランチ)が、リモートブランチに存在しないことによるエラーです。ご丁寧に解決方法まで記載されているので、その通り実行しましょう。
git push --set-upstream origin master
現在のブランチは "git branch" により確認可能です。なお、"-r"オプションをつけるとリモートブランチの一覧を表示、 "-a"オプションをつけると、ローカルリモート全ブランチを表示します。
git branch * master #カレントブランチの横には*がついている

git push --set-upstream origin masterが長くてだるい人向け

"git push --set-upstream origin master" は下記のように書いても同じです。
git push -u origin HEAD
まず、 "--set-upstream" は "-u" で省略することができます。そして、ブランチ名(master)の入力は "HEAD" で代替することができます。
 省略記法は便利なので覚えておきましょう。
シェルのエイリアスを設定しておくことで、
よりスピーディーに入力することも可能だよ!
よく使うコマンドはエイリアスをはっておくと便利だよ!
Octocat