gitには道がありますか裸のリポジトリはHEADにないブランチを押していますか?git push現在のブランチをリモートにしない
$ git branch
* master
another
と私は設定した2つのリモコンがあります:origin
とanother
を
私は2つの支店を持っています。
HEADを変更せずに、1つのコマンドでちょうどanother
からanother/another
にプッシュできるようにする必要があります。 git push
で
gitには道がありますか裸のリポジトリはHEADにないブランチを押していますか?git push現在のブランチをリモートにしない
$ git branch
* master
another
と私は設定した2つのリモコンがあります:origin
とanother
を
私は2つの支店を持っています。
HEADを変更せずに、1つのコマンドでちょうどanother
からanother/another
にプッシュできるようにする必要があります。 git push
で
リモートとローカルを指定することができます
git push another another
これは、別のローカル/別のローカルにプッシュすることを意味しますか?私はいつも、「現在の頭」を別のものに押しつけるだろうと思っていました。 – AlexKey
はい。 (2番目の) 'another'は(一般的に)' src:dst'という形式のrefspecです。これはローカルブランチ 'src'をリモートブランチ' dst'にプッシュすることを意味します。 ':dst'を省略すると、ローカルブランチ' src'がリモートブランチ 'src'にプッシュされます。 –
現在のHEADはデフォルトですが、Larsが指摘しているように任意のブランチ(より一般的には任意のrefspec)を指定することができます –
すべてのそれらの「別のもう一つの」元の質問には、答えとコメントの多くは、それ理由の完璧な例がある(そう混乱していますあなたのことを最初に正しい名前を付けることが重要です)、私は以下のようにもう一つの答えを書くのを手助けすることはできません。
Q:ではなく、のHEADにブランチをプッシュするgit(bare)リポジトリの方法はありますか?例えば、私は2つの支店と2つのリモコンを持っています。私はfeature
からupstream/feature
までHEADを変更せずに1つのコマンドでプッシュできるようにする必要があります。
$ git branch
* master
feature
$ git remote
origin
upstream
回答:これを行います。
$ git push upstream feature
Q:それはfeature
upstream/feature
にローカルプッシュすることを意味していますか?私はいつも、現在のHEADをupstream/feature
に押し上げると思っていました。
A:はい。 feature
の部分はrefspecであり、一般的にはsrc:dst
の形をしています。これはローカルブランチsrc
をリモートブランチにプッシュすることを意味します。 :dst
を省略すると、ローカルブランチsrc
がリモートブランチsrc
にプッシュされます。リモートブランチとは異なる名前を指定することもできます。ただ、やる:
$ git push upstream feature:cool_new_feature
「上流」は特定のリモートの単なるエイリアスであることに注意してください。あなたがオンラインでもっとも典型的なコンベンションに従っている(つまり、ペーストをたくさんコピーしている)場合、実際には "起源"になるでしょう。参照:https://stackoverflow.com/questions/9529497/what-is-origin-in-git – Kat
@Kat: 'upstream'と' origin'の両方が特定のリモートのエイリアスである "ちょうど"ですが、それらは異なっています(github fork workflow)(https://help.github.com/articles/configuring-a-remote-for-a-fork/)の慣例に従ってください。あなたが何をしているのか分からない限り、gitコマンドの 'origin'によって常に' upstream'を置き換えることができると仮定しないでください。 – RayLuo
あなたは、リモートおよびブランチのためにまったく同じ名前を持っていない考えるかもしれません(この答えのための材料を提供してくれてありがとう@のガブリエレ・petronellaと@alexkey。)。それは紛らわしい。 –
'git branch -m another anotherbranch'や' git remote another_remote'を使うことができます –
@KlasMellbournこれは例のためです。もちろん私はこの奇妙な命名法を持っていません。 – AlexKey