Gitのリモートブランチを作成するには?
ローカルブランチを作成して、それを上流に 'push'したいと思っています。Stack Overflowには、新しく作成したリモートブランチを追跡する方法について、同様の質問があります。
しかし、私のワークフローは少し違います。まず最初にローカルブランチを作成し、満足してブランチを共有したいときだけ上流にプッシュしたいと思います。
- どうすればいいですか?(グーグルで検索しても何も出てきませんでした)。
- 同僚に上流のリポジトリから引っ張ってくるように伝えるにはどうしたらいいですか?
UPDATE Git 2.0では、よりシンプルな答えがあります 以下に書きました: https://stackoverflow.com/a/27185855/109305
3021
19
まず、ローカルにブランチを作成します。
リモートブランチは、リモートサーバーにプッシュしたときに自動的に作成されます。そのため、準備ができたと思ったら次のようにすればいいのです。
ここで、`
は通常は
origin` で、これは git がクローン元のリモートに与える名前です。あなたの同僚がそのブランチをプルすれば、自動的にローカルにブランチが作成されます。しかし、形式的には次のようになります。
しかし、片方を省略すると、両方のブランチ名が同じであるとみなされます。注意**として、
:
(コロン付き)だけを指定するという重大なミスを犯さないようにしてください、さもないとリモートブランチが削除されてしまいます。そうしないと、リモートブランチが削除されてしまいます! 後続の
git pull
が何をすべきかわかるように、代わりに次のようにするとよいでしょう。後述するように、
--set-upstream
オプションは上流のブランチを設定します。まず、ローカルにブランチを作成する必要があります。
その後、自分のブランチでローカルに作業することができます。ブランチを共有する準備ができたら、それをプッシュします。次のコマンドは、ブランチをリモートリポジトリ origin にプッシュしてそれを追跡します。
とすることで、チームメイトはあなたのブランチに到達することができます。
ブランチでの作業を続けながら、git push に引数を渡さずに好きなときにプッシュすることができます (引数なしの git push は、master をリモートの master に、your_branch の local をリモートの your_branch に、などとプッシュします)。
チームメイトがあなたのブランチにプッシュするには、コミットを行ってから明示的にプッシュします。
あるいは、ブランチを追跡することで、git pushの引数を避けることができます。
シンプルな Git 2.0+ の解決策です。
Git 2.0 では、動作がよりシンプルになりました**。
git の設定に
push.default = current
を指定することで、生活をより簡単にすることができます。これを追加したので、新しいブランチを上流にプッシュするには
u` は同名のリモートブランチを追跡します。 この設定で、git push へのリモート参照を自動的に推測することができるようになりました。 git.config documentation][1]より。
git.config documentation][1] より: >. push.default**** とします。 gt. を指定します。 refspec が明示的に指定されていない場合に git push が取るべきアクションを定義します。 >.
私にとっては、これは日々のGitワークフローをシンプルにしてくれています。 この設定では、ローカルにブランチを追加して、それを受け取りたいというような 'always'. ブランチをローカルに追加してリモートで作成するというようなケースに対応しています。 また、
git co remote_branch_name
を実行するだけで、リモートからローカルブランチを簡単に作成することができます(--set-upstream-to
フラグを使うのとは対照的です)。この質問と受け入れられている答えはかなり古いものですが、ワークフローをよりシンプルにするための設定オプションが存在するように動作が変更されました。
Git のグローバル設定を追加するには、コマンドラインで次のように実行します。
[1]: http://git-scm.com/docs/git-config
前の回答にもあるように
は、ローカルブランチをプッシュするのに十分です。
あなたの同僚は、このコマンドですべてのリモートブランチ (新規ブランチを含む) をプッシュすることができます。
そして、そのブランチに変更を加えるには、通常のフローで行います。
現在のブランチをベースに、ローカルに新しいブランチを作成します。
通常のように変更をコミットします。 その後、上流にプッシュします。
これは、現在のブランチを
origin
上の同じ名前のブランチにプッシュして追跡するショートカットで、将来的にorigin HEAD
を指定する必要がないようにします。現在のブランチからブランチを作成したい場合
リモートブランチからブランチを作成したい場合は、次のようにします。
変更が終わったら追加します。
その後、ローカルでコミットします。
リモートレポにプッシュしたい場合
すべてを一緒にすることになります。
或いは リモートブランチからブランチを作成したい場合は development とします。
git checkout -b bug_fixes origin/development
ブランチをリモートレポにプッシュするには
他のブランチからブランチを更新したいときはいつでも master と言ってください。
git pull origin master`.
ローカルブランチを持たずにリモートブランチを作成したい場合は、次のようにします。
リモートには存在しなかった foo のブランチにあなたの HEAD であるものをプッシュします。
最も簡単な解決策... ドラムロール... git バージョン 2.10.1 (Apple Git-78) git バージョン 2.10.1 (Apple Git-78) 。
注意。
まず、ローカルにブランチを作成します。
そして、リモートでブランチを作成すること。
注意してください。 これは最新バージョンの git で動作します。
乾杯!
>. ローカルマシン上にブランチを作成し、このブランチで切り替えます。
ブランチを github にプッシュします。
ブランチで何かをコミットしたいときは、必ず自分のブランチにあることを確認してください。
作成されたすべてのブランチは .
それが示すのは .
ブランチに新しいリモートを追加します。
コミットからの変更をブランチにプッシュします。
公式リポジトリの元のブランチが更新されたら、ブランチを更新します。
それから、変更をマージするために適用する必要があります。
ローカルファイルシステム上のブランチを削除する .
ファイルシステム上のローカルブランチを強制的に削除するには .
github上のブランチを削除します。
ここにすべての情報があります][1
その他既存事業][2
[1]: https://github.com/Kunena/Kunena-Forum/wiki/Create-a-new-branch-with-git-and-manage-branches [2]: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/
既存のブランチからローカルブランチを作成する (master/develop/any-other-branchが可能)。
とすることができます。 git checkout -b branch_name
これをリモートにプッシュ
>. git push -u remote_name local_branch_name:remote_branch_name
これを
remote_name . git はリポジトリを作成するときにデフォルトで "origin". に設定されます。 しかし、これは任意の名前に変更することができます。
remote_branch_name : はプッシュするローカルブランチの名前です。 は、リモートで作成したいリモートブランチの名前です。
ローカルブランチ名とリモートブランチ名を削除すると、以下のような形式になります。
>. git push -u remote_name ブランチ名
これはローカルブランチをリモートにプッシュし、ローカルブランチの branch_name と同じ名前にします。 ローカルブランチはリモートブランチも追跡します。
私はこの質問がよく答えられていることを知っていますが、ちょうど私が新しいブランチを作成するために取る手順をリストアップしたいと思いました "myNewBranch". とリモート("origin". 私の場合)にプッシュしてトラッキングをセットアップします。 これを"TL;DR". バージョン :)
git を使えば、正しいブランチにいるときに入力するだけでいいようになりました。
git push -set-upstream origin <remote-branch-name
>.そして、git が origin ブランチを作成します。
2つのステップで行うことができます。
**ローカルブランチの作成には
checkout
を使用します。2. ブランチを自動作成してリモートリポジトリにコードを送るには、
push
コマンドを使用します。といった感じです。 これを行う方法はいくつかありますが、私はこの方法がとてもシンプルだと思います。
ただ、その間に追記したかっただけです。
新しいブランチを作成し、そのブランチをチェックアウトして現在のブランチにします。 何らかの理由でブランチを切り離したいだけで、現在のブランチにはしたくない場合は、次のようなコマンドを使用します。
最初のコマンドでは、"checkout". は、そのブランチをあなたの現在のブランチにし、"-b". を意味します。 このブランチはまだ存在しないので、私のために作ってください。
ソースツリーを介して行う方法
`git push -u <remote-name>.
` は、新しく作成したブランチが同じレポからスポーンされていない場合には動作しません。 つまり、`git checkout -b new_branch` を使って新しいブランチを作成していない場合は動作しません。例えば、私は2つの異なるリポジトリをローカルにクローンしていたので、repo2/branch1をrepo1/にコピーしてプッシュしなければなりませんでした。
この][1]リンクは、私のローカルブランチ(別のレポからクローンしたもの)をリモートレポにプッシュするのに役立ちました。
[1]: http://cmdlinelinux.blogspot.com/2014/02/git-push-new-local-branch-cloned-from.html
eclipseでEgitを使って行う方法を紹介します。
"Git Repository Exploring". ビューを開き、ブランチを作成したいgitプロジェクトを展開します。 ブランチの下にある ->. ローカル ... で、ブランチを作成したいブランチを選択します (私の場合は master ... を選択しました)。 他のブランチを選択してもかまいません)。 そして、右クリックして、Create Branch オプションをクリックします。 そして、このプロジェクトをチェックアウトするオプションを選択し、終了ボタンをクリックします。
プロジェクトエクスプローラからプロジェクトを選択します。 右クリックして、Team ->. ブランチをプッシュします。
新しいリモートブランチが作成されます。 ブランチの名前を同僚に教えることができるので、同僚がブランチを引っ張ってくることができます。
これを使っていますが、かなり重宝しています。
ggt. 使用法。 git mkdir NEW_BRANCH
gitのステータスも必要ありません。 もしかしたら、すべてがうまくいっているかどうかを確認したいだけかもしれません。
一つのコマンドで LOCAL ブランチと REMOTE ブランチの両方を持つことができます。