Git入門:masterブランチ以外でpushしたいです
解決済
回答 3
投稿
- 評価
- クリップ 1
- VIEW 3,360
Gitを個人で練習中です。
理由は学生ハッカソンに参加した際にGit操作になれておらず迷惑をかけたため・masterブランチでpushする方法しか知らずさらに迷惑になるので
です。
Gitのターミナル操作はプロゲートで学習したのですが、masterブランチしか紹介されていませんでした。
また、検索したのですが適切な解決策がみつかりませんでした。
たとえばtext.txtをメッセージ付与でpushしている形式ですが、リモート名をtest。
git init
git add text.txt
git commit -m “メッセージ"
git remote add test URL
git push test master
masterを外してgit push test
と記述すると
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 test master
と警告が表示されるのでgit push test master
でpushしています。
masterブランチ以外でpushするにはどう記述するのが良いですか?
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
+5
「git ブランチを切る」でぐぐると解説でてきます。
別の名前のブランチを作って、そこにpush する、ってことになりますね
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
checkベストアンサー
+2
自分もGit初心者ですが・・・
理解のカギは、ローカルリポジトリにもブランチがあり、リモートリポジトリにもブランチがあるということです。そして、push時にリモートリポジトリのブランチ名を省略すると、ローカルリポジトリのブランチと同じ名前のブランチへpushされます。
検索したのですが適切な解決策がみつかりませんでした
とのことですが、たとえば「git push ブランチ指定」というキーワードでググると、以下のような分かりやすい説明がすぐに見つかると思います。
今の場合、おそらくローカルのmasterブランチで作業しているのだと思いますが、リモートリポジトリのブランチ名を明示していないので、リモートのmasterブランチへpushしようとしてしまっていると言うことになります。
それで、リモートのtestブランチへpushしたいならば、以下のようにすれば良いと思います。
git push origin master:test
「git push」というキーワードでググると以下のような分かりやすい説明も見つかりますので、pushコマンドの使い方を再確認してみてください。
きっとmakoto-nさんも自分と同じで、あちらこちらで紹介されているgitコマンドを見よう見真似で使っている段階なのだと思いますが、同じmasterでも指定する位置によって意味が異なりますし、gitコマンドには省略形もたくさんあるので、混乱しがちです。
ですから、下記のドキュメントで基本をおさらいすることを強くオススメします。
この書籍は、これまで読んだ中で最も詳しく、かつ明快な説明で、本質を理解する助けになります。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+2
僕いっつもこんな感じです
git のバージョンと設定
$ git --version
git version 2.17.2 (Apple Git-113)
$ git config push.default
simple
git clone してきてから別ブランチに push するまでの一連の操作
手元で別ブランチを作って remote の同名のブランチに push を試みる
$ git clone git@github.com:set0gut1/xxxzzz.git
Cloning into 'xxxzzz'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.
$ cd xxxzzz
$ git symbolic-ref HEAD
refs/heads/master
$ git checkout -b foo
Switched to a new branch 'foo'
$ git symbolic-ref HEAD
refs/heads/foo
$ git push
fatal: The current branch foo has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin foo <- これが出てきたら確認してコピペします
$ git push --set-upstream origin foo
Total 0 (delta 0), reused 0 (delta 0)
remote:
remote: Create a pull request for 'foo' on GitHub by visiting:
remote: https://github.com/set0gut1/xxxzzz/pull/new/foo
remote:
To github.com:set0gut1/xxxzzz.git
* [new branch] foo -> foo
Branch 'foo' set up to track remote branch 'foo' from 'origin'.
push.default の設定によっては git push がヤバイ挙動になるので
ドキュメントを確認の上、いちばんオペミスしなさそうなやつを選ぶとよいと思います。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.36%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる