質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Q&A

解決済

3回答

2666閲覧

Git入門:masterブランチ以外でpushしたいです

makoto-n

総合スコア436

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

0グッド

1クリップ

投稿2019/01/09 13:47

Gitを個人で練習中です。
理由は学生ハッカソンに参加した際にGit操作になれておらず迷惑をかけたため・masterブランチでpushする方法しか知らずさらに迷惑になるので
です。

Gitのターミナル操作はプロゲートで学習したのですが、masterブランチしか紹介されていませんでした。
また、検索したのですが適切な解決策がみつかりませんでした。

たとえばtext.txtをメッセージ付与でpushしている形式ですが、リモート名をtest。

Git

1git init 2git add text.txt 3git commit -m “メッセージ" 4git remote add test URL 5git push test master

 
masterを外してgit push testと記述すると

Git

1fatal: The current branch master has no upstream branch. 2To push the current branch and set the remote as upstream, use 3 4 git push --set-upstream test master

と警告が表示されるのでgit push test masterでpushしています。

masterブランチ以外でpushするにはどう記述するのが良いですか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

「git ブランチを切る」でぐぐると解説でてきます。
別の名前のブランチを作って、そこにpush する、ってことになりますね

投稿2019/01/09 14:00

y_waiwai

総合スコア87719

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

自分もGit初心者ですが・・・

理解のカギは、ローカルリポジトリにもブランチがあり、リモートリポジトリにもブランチがあるということです。そして、push時にリモートリポジトリのブランチ名を省略すると、ローカルリポジトリのブランチと同じ名前のブランチへpushされます。

検索したのですが適切な解決策がみつかりませんでした

とのことですが、たとえば「git push ブランチ指定」というキーワードでググると、以下のような分かりやすい説明がすぐに見つかると思います。

今さら聞けないgit pushコマンド

今の場合、おそらくローカルのmasterブランチで作業しているのだと思いますが、リモートリポジトリのブランチ名を明示していないので、リモートのmasterブランチへpushしようとしてしまっていると言うことになります。

それで、リモートのtestブランチへpushしたいならば、以下のようにすれば良いと思います。

git push origin master:test

「git push」というキーワードでググると以下のような分かりやすい説明も見つかりますので、pushコマンドの使い方を再確認してみてください。

git push コマンドの使い方と、主要オプションまとめ

きっとmakoto-nさんも自分と同じで、あちらこちらで紹介されているgitコマンドを見よう見真似で使っている段階なのだと思いますが、同じmasterでも指定する位置によって意味が異なりますし、gitコマンドには省略形もたくさんあるので、混乱しがちです。

ですから、下記のドキュメントで基本をおさらいすることを強くオススメします。

Pro Git 第2版 日本語翻訳

この書籍は、これまで読んだ中で最も詳しく、かつ明快な説明で、本質を理解する助けになります。

投稿2019/01/09 23:29

pi-chan

総合スコア5936

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

makoto-n

2019/01/10 11:31

別名ブランチでpushできました。 みなさまありがとうございます。 y_waiwai様のおっしゃる「別のブランチを作る」、set0gut1様の記述のcheckoutを未知だったのが原因でした。 ベストアンサーはブランチについて詳しく教えてくださったpi-chan様にさせていただきます。
guest

0

僕いっつもこんな感じです

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 がヤバイ挙動になるので
ドキュメントを確認の上、いちばんオペミスしなさそうなやつを選ぶとよいと思います。

投稿2019/01/09 14:24

編集2019/01/09 14:34
set0gut1

総合スコア2413

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問